Pe o tablă sunt desenate N cercuri. Pluto trebuie să deseneze un număr total de M săgeți, astfel încât fiecare săgeată să pornească de la un cerc și să ajungă la alt cerc. Pentru fiecare cerc se cunoaște numărul săgeților care trebuie să plece din cercul respectiv și numărul săgeților care trebuie să ajungă la cercul respectiv. Va trebui să verificați dacă Pluto poate desena săgețile și, dacă acest lucru este posibil, să descrieți modul în care acestea vor fi desenate.
Prima linie a fișierului de intrare PLUTO.IN conține numărul N al cercurilor și numărul M al săgeților. Cea de-a doua linie conține N numere întregi, separate prin câte un spațiu, care reprezintă numărul săgeților care trebuie să pornească de la fiecare cerc. Cea de-a treia linie conține N numere întregi, separate prin câte un spațiu, care reprezintă numărul săgeților care trebuie să ajungă la fiecare cerc. Primul număr de pe fiecare dintre aceste linii corespunde primului cerc (identificat prin 1), al doilea număr corespunde celui de-al doilea cerc (identificat prin 2) etc. Suma numerelor de pe fiecare dintre aceste două linii este întotdeauna M.
Prima linie a fișierului de ieșire PLUTO.OUT va conține mesajul YES în cazul în care există cel puțin o posibilitate de desenare a săgeților și mesajul NO în caz contrar. În cazul în care săgețile pot fi desenate, fișierul va mai conține M linii pe care se vor afla câte două numere întregi x și y cu semnificația: va fi desenată o săgeată care pornește de la cercul identificat prin x și ajunge la cercul identificat prin y.
PLUTO.IN
4 5 1 2 2 0 1 1 1 2 PLUTO.OUT YES 1 2 2 3 3 1 2 4 3 4
|