คุณกำลังดูกลุ่มเด็กเล่น Quartets กันอย่างเป็นมิตรและสนุกสนาน ช่วงหนึ่งคุณเริ่มสงสัยว่าเด็กบางคนอาจโกง แต่เด็ก ๆ เองดูเหมือนจะไม่เดือดร้อนเลย กลับกัน สิ่งนี้ยิ่งทำให้สนุกขึ้น โดยเฉพาะเมื่อมีใครถูกจับได้ว่าโกง ในฐานะโปรแกรมเมอร์ คุณจึงเริ่มคิดทันทีว่าจะตรวจจับการโกงเพียงแค่สังเกตการเล่นได้อย่างไร
Quartets เป็นเกมไพ่สำหรับผู้เล่นสี่คน ใช้ไพ่ $32$ ใบ แบ่งเป็น $8$ ชุด ชุดละ $4$ ใบ ไพ่จริงมักมีภาพเพื่อการศึกษา ช่วยให้ผู้เล่นเรียนรู้ทั้งสิ่งของแต่ละอย่างและการจัดหมวดหมู่ เช่น ไพ่สามารถแสดงสัตว์ และแต่ละชุดตรงกับกลุ่มสัตว์ต่าง ๆ (สัตว์เลี้ยงลูกด้วยนม สัตว์เลื้อยคลาน เป็นต้น)
ไพ่สี่ใบในชุดเดียวกันจากสำรับ Quartets เยอรมันโดย Wilhelm Busch ผ่าน Wikimedia Commons เป็นสาธารณสมบัติ
ตอนเริ่มเกม ผู้เล่นแต่ละคนได้รับไพ่ $8$ ใบ และผู้เล่น $1$ เริ่มตา ในแต่ละตา ผู้เล่นถามผู้เล่นอีกคนว่ามีไพ่ใบที่ระบุหรือไม่ ถ้าผู้ถูกถามมีไพ่ใบนั้น ต้องส่งให้ผู้ขอ แล้วผู้ขอเล่นตาต่อโดยขอไพ่อีกใบจากผู้เล่นคนใดก็ได้ ถ้าผู้ถูกถามไม่มีไพ่ใบนั้น ตาของผู้ขอจะจบลงและผู้ถูกถามเริ่มตาของตน กฎสำคัญคือผู้ขอต้องมีไพ่อย่างน้อยหนึ่งใบในชุดเดียวกับไพ่ที่ขออยู่แล้ว
หากระหว่างตาของตน ผู้เล่นมีไพ่ครบชุด («ชุดสี่ใบ») สามารถแสดงให้คนอื่นดู วางแยกไว้ และได้หนึ่งคะแนน ไพ่ทั้งสี่ใบจะถูกนำออกจากเกมปัจจุบันอย่างถาวร หาก ณ เวลาใดผู้เล่นไม่มีไพ่เหลือ ผู้เล่นคนนั้นออกจากเกม หากเป็นตาของเขา ตาจะส่งต่อไปยังผู้เล่นคนถัดไปตามลำดับ $1$-$2$-$3$-$4$-$1$-$\ldots$ ที่ยังมีไพ่ ถ้าไม่มีใครมีไพ่เหลือ เกมจะจบ และผู้เล่นที่มีคะแนนมากที่สุดเป็นผู้ชนะ
ห้ามขอไพ่ที่ถูกนำออกจากเกมแล้ว และห้ามขอไพ่จากผู้เล่นที่ออกจากเกมแล้ว
การโกงใน Quartets อาจเกิดขึ้นได้สองกรณีที่ผู้เล่นอ้างเท็จว่ามี (หรือไม่มี) ไพ่บางใบ กล่าวคือ ถือว่าโกงเมื่อ
ผู้เล่นขอไพ่ทั้งที่ไม่มีไพ่ในชุดนั้นเลย หรือ
ผู้ถูกถามอ้างว่าไม่มีไพ่ที่ถูกขอ ทั้งที่มีไพ่ใบนั้น
แน่นอนว่าการโกงมักถูกค้นพบภายหลัง ในทางทฤษฎี คู่แข่งที่ช่างสังเกตจะค้นพบการโกงทุกครั้งได้ในที่สุด เพราะไพ่ทั้งหมดจะถูกเปิดเผย ณ เวลาใดเวลาหนึ่งก่อนเกมจบ
สังเกตว่าการขอไพ่ที่ผู้ถูกถามไม่มีทางมี (เช่น เพราะไพ่อยู่ในมือผู้ขอเอง) แม้ไม่ใช่การเล่นที่ฉลาด แต่การกระทำนี้เพียงอย่างเดียวไม่นับว่าโกง
ข้อมูลนำเข้า
บรรทัดแรกมีจำนวนเต็ม $n$ ($1 \le n \le 1000$) คือจำนวนการกระทำติดต่อกันในเกม Quartets หนึ่งเกม เริ่มตั้งแต่ต้นเกม แต่ละบรรทัดใน $n$ บรรทัดถัดไปอธิบายหนึ่งการกระทำ แต่ละการกระทำใช้หนึ่งบรรทัดและอาจเป็นแบบใดแบบหนึ่งต่อไปนี้:
x A y sk yes— ผู้เล่น $x$ ขอไพ่ $sk$ จากผู้เล่น $y$ และผู้เล่น $y$ ส่งไพ่ใบนั้นให้ผู้เล่น $x$;x A y sk no— ผู้เล่น $x$ ขอไพ่ $sk$ จากผู้เล่น $y$ ผู้เล่น $y$ อ้างว่าไม่มีและเริ่มตาของตน;x Q s— ผู้เล่น $x$ วางไพ่ชุดสี่ใบ $s$ แยกไว้
ในทุกการกระทำ $x$ และ $y$ ($1 \le x,y \le 4$, $x \ne y$) เป็นจำนวนเต็มระบุผู้เล่น $s$ ($1 \le s \le 8$) เป็นจำนวนเต็มหนึ่งหลักแทนชุดไพ่ และ $k \in \{\mathrm{A},\mathrm{B},\mathrm{C},\mathrm{D}\}$ เป็นอักขระแยกแยะไพ่ทั้งสี่ใบในชุด ดังนั้นไพ่ $sk$ มีป้าย 1A, 1B, 1C, 1D, 2A, 2B, …, 8C, 8D ไพ่สี่ใบที่มีตัวเลขหลักแรกเหมือนกันเป็นชุดเดียวกัน
ลำดับที่ให้มาอธิบายเกมที่ถูกต้องระหว่างผู้เล่นสี่คน กล่าวคือ นอกเหนือจากการโกงสองแบบที่กล่าวมา การกระทำทั้งหมดเป็นไปตามกฎทุกข้อ
ข้อมูลส่งออก
หากมีการแจกไพ่เริ่มต้นที่เป็นไปได้ซึ่งทำให้ลำดับการกระทำตรงกับเกม (อาจเป็นเพียงบางส่วนของเกม) ที่ทุกคนทำตามกฎ ให้แสดง yes มิฉะนั้นแสดง no แล้วในบรรทัดถัดไปแสดงหมายเลขการกระทำแรกที่หลังจากนั้นแน่ใจได้ว่าต้องมีผู้เล่นบางคนโกง การกระทำมีหมายเลขเรียงจาก $1$ และนับการวางชุดไพ่แยกไว้ด้วย
ตัวอย่าง
ข้อมูลนำเข้า 1
4 1 A 2 3C no 2 A 3 3A yes 2 A 4 3D yes 2 A 1 3C no
ข้อมูลส่งออก 1
no 4
หมายเหตุ
ผู้เล่น $1$ และ $2$ ต่างอ้างว่าไม่มี 3C และทั้งคู่ไม่มี 3A หรือ 3D ดังนั้นคนใดคนหนึ่งโกหกว่าไม่มี 3C หรือขอ 3C โดยไม่มี 3B (ไพ่ใบเดียวที่เหลือในชุด $3$)
ข้อมูลนำเข้า 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
ข้อมูลส่งออก 2
yes