Du beobachtest eine Gruppe Kinder, die bei einer freundschaftlichen Partie Quartets Spaß haben. Irgendwann vermutest du, dass einige der Kinder schummeln. Die Kinder selbst scheint das überhaupt nicht zu stören. Im Gegenteil: Sie haben dadurch noch mehr Spaß, besonders wenn jemand beim Schummeln erwischt wird. Als Programmierer denkst du sofort darüber nach, wie sich Schummeln allein durch Beobachten der Partie erkennen lässt.
Quartets ist ein Kartenspiel für vier Spieler mit $32$ Karten, aufgeteilt in $8$ Sätze zu je $4$ Karten. Die echten Karten enthalten oft lehrreiche Bilder, durch die man nicht nur einzelne Objekte, sondern auch ihre Einordnung lernt. Beispielsweise können die Karten Tiere zeigen, während die Sätze verschiedenen Tiergruppen entsprechen (Säugetieren, Reptilien usw.).
Vier Karten eines Satzes aus einem deutschen Quartets-Spiel von Wilhelm Busch, über Wikimedia Commons, gemeinfrei.
Zu Beginn erhält jeder Spieler $8$ Karten, und Spieler $1$ beginnt. Wer am Zug ist, fragt einen anderen Spieler nach einer bestimmten Karte. Hat dieser sie, muss er sie dem Fragenden geben; dieser bleibt am Zug und fragt einen beliebigen Spieler nach einer weiteren Karte. Hat der Gefragte die Karte nicht, endet der Zug des Fragenden, und der Gefragte ist am Zug. Eine wichtige Regel verlangt, dass der Fragende bereits mindestens eine Karte aus demselben Satz wie die erfragte Karte besitzt.
Hat ein Spieler während seines Zuges einen vollständigen Satz („Quartett“) auf der Hand, darf er ihn den anderen zeigen, ablegen und einen Punkt erhalten. Die vier Karten werden dauerhaft aus der Partie entfernt. Hat ein Spieler irgendwann keine Karten mehr, scheidet er aus. War er am Zug, geht der Zug an den nächsten Spieler in der Reihenfolge $1$-$2$-$3$-$4$-$1$-$\ldots$ über, der noch Karten hat. Hat niemand mehr Karten, endet die Partie, und der Spieler mit den meisten Punkten gewinnt.
Man darf weder nach bereits entfernten Karten fragen noch einen ausgeschiedenen Spieler nach einer Karte fragen.
Schummeln ist bei Quartets in zwei Situationen möglich, in denen ein Spieler fälschlich behauptet, eine Karte zu haben (oder nicht zu haben). Genauer wird geschummelt, wenn
ein Spieler nach einer Karte fragt, obwohl er keine Karte des entsprechenden Satzes besitzt, oder
ein gefragter Spieler behauptet, die erfragte Karte nicht zu besitzen, obwohl er sie hat.
Natürlich wird Schummeln oft erst später entdeckt. Theoretisch kann ein aufmerksamer Gegner schließlich jedes Schummeln erkennen, da vor dem Ende der Partie irgendwann alle Karten aufgedeckt werden.
Nach einer Karte zu fragen, die der Gefragte unmöglich haben kann (etwa weil der Fragende sie selbst auf der Hand hat), ist zwar nicht besonders klug, gilt für sich genommen aber nicht als Schummeln.
Eingabe
Die erste Eingabezeile enthält eine ganze Zahl $n$ ($1 \le n \le 1000$), die Anzahl aufeinanderfolgender Aktionen einer Partie Quartets, beginnend am Anfang der Partie. Jede der nächsten $n$ Zeilen beschreibt eine Aktion. Jede Aktion steht in einer Zeile und hat eine der folgenden Formen:
x A y sk yes— Spieler $x$ fragt Spieler $y$ nach Karte $sk$, und Spieler $y$ gibt sie Spieler $x$;x A y sk no— Spieler $x$ fragt Spieler $y$ nach Karte $sk$, Spieler $y$ behauptet, sie nicht zu haben, und beginnt seinen Zug;x Q s— Spieler $x$ legt das Quartett $s$ ab.
In allen Aktionen bezeichnen die ganzen Zahlen $x$ und $y$ ($1 \le x,y \le 4$, $x \ne y$) die Spieler; $s$ ($1 \le s \le 8$) ist eine einstellige ganze Zahl für einen Satz beziehungsweise ein Quartett; und $k \in \{\mathrm{A},\mathrm{B},\mathrm{C},\mathrm{D}\}$ ist ein Zeichen, das die vier Karten eines Satzes unterscheidet. Die Karten $sk$ heißen also 1A, 1B, 1C, 1D, 2A, 2B, …, 8C, 8D. Die vier Karten mit derselben ersten Ziffer bilden einen Satz.
Die gegebene Folge beschreibt eine gültige Partie zwischen vier Spielern. Abgesehen von den beiden genannten möglichen Arten des Schummelns erfüllen also alle Aktionen sämtliche Regeln.
Ausgabe
Existiert eine mögliche anfängliche Kartenverteilung, sodass die Aktionsfolge einer (möglicherweise unvollständigen) Partie entspricht, in der alle Spieler die Regeln einhalten, gib yes aus. Andernfalls gib no aus und in der nächsten Zeile die Nummer der ersten Aktion, nach der sicher ist, dass ein Spieler geschummelt haben muss. Die Aktionen werden fortlaufend ab $1$ nummeriert; das Ablegen eines Quartetts zählt ebenfalls als Aktion.
Beispiele
Eingabe 1
4 1 A 2 3C no 2 A 3 3A yes 2 A 4 3D yes 2 A 1 3C no
Ausgabe 1
no 4
Hinweis
Die Spieler $1$ und $2$ behaupten beide, 3C nicht zu haben, und keiner von ihnen hatte 3A oder 3D. Also hat einer entweder beim Verneinen von 3C gelogen oder ohne 3B (die einzig übrige Karte aus Satz $3$) nach 3C gefragt.
Eingabe 2
6 1 A 2 3C no 2 A 3 3A yes 2 A 4 3D yes 2 A 1 3B no 1 A 4 5B yes 1 Q 5
Ausgabe 2
yes