IV Olimpiada Informatyczna 1996/97

Zadanie: ALI
Autor: Piotr Chrząstowski-Wachtel
ALIBABA

Zawody III stopnia  
Plik źródłowy: ALI.??? (np. pas, c, cpp)
Plik wykonywalny: ALI.exe
Plik wejściowy: ALI.in
Plik wyjściowy: ALI.out

Aby otworzyć Sezam, trzeba mieć komplet co najmniej z żetonów złotych, s — srebrnych i m —miedzianych.

Alibaba ma początkowo pewną liczbą żetonów każdego rodzaju i może je wymieniać u strażnika Sezamu według ściśle określonych reguł.

Każda reguła jest postaci:

z1, s1, m1 -> z2, s2, m2 (zi, si, mi należą do {0,1,2,3,4})

gdzie: z1, s1, m1 oznaczają odpowiednio liczby żetonów złotych, srebrnych i miedzianych, jakie Alibaba musi dać strażnikowi, zaś z2, s2, m2 - liczby żetonów złotych, srebrnych i miedzianych, które otrzyma w wyniku transakcji wymiany.

Żetony otrzymane w wyniku transakcji można wymieniać w kolejnych transakcjach.

Zadanie

Napisz program, który:

Wejście

W pierwszym wierszu pliku tekstowego ALI.IN jest zapisana jedna liczba całkowita dodatnia d<=10. Jest to liczba zestawów danych.

Dalej są zapisane kolejno zestawy danych. Każdy zestaw danych składa się z wielu wierszy.

W pierwszym wierszu są zapisane trzy liczby całkowite nieujemne zp, sp, mp należące do {0,1,2,3,4}. Są to liczby żetonów złotych, srebrnych i miedzianych, jakie na początku ma Alibaba.

W drugim wierszu są kolejne trzy liczby całkowite z, s, m należące do {0,1,2,3,4}. Są to liczby żetonów złotych, srebrnych i miedzianych, jakie trzeba mieć, aby otworzyć Sezam.

W trzecim wierszu jest zapisana liczba reguł r, gdzie 1<=r<=10.

W każdym z kolejnych r wierszy jest zapisany ciąg sześciu liczb z1, s1, m1, z2, s2, m2 należących do {0,1,2,3,4}. Każda taka szóstka liczb jest zapisem jednej reguły transakcji: z1, s1, m1 -> z2, s2, m2.

Liczby w każdym wierszu są pooddzielane pojedynczymi odstępami.

Wyjście

W i-tym wierszu pliku tekstowego ALI.OUT należy zapisać wynik dla i-tego zestawu danych:

Przykład
Dla pliku tekstowego ALI.IN:

2
2 2 2
3 3 3
3
0 1 1 2 0 0
1 0 1 0 2 0
1 1 0 0 0 2
1 1 1
2 2 2
4
1 0 0 0 1 0
0 1 0 0 0 1
0 0 1 1 0 0
2 0 0 0 2 2
poprawnym rozwiązaniem jest plik tekstowy ALI.OUT:
NIE
9

Twój program powinien szukać pliku ALI.IN w katalogu bieżącym i tworzyć plik ALI.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę ALI.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonalnej powinien być zapisany w pliku ALI.EXE.