โจทย์ข้อนี้เป็นโจทย์แบบโต้ตอบ (interactive problem)
Little Cyan Fish มีจำนวนเต็มลับ $a$ ($1 \le a \le 100$) คุณต้องหาจำนวนเต็มนี้ให้พบ
ในการถามหนึ่งครั้ง คุณเลือกจำนวนเต็ม $x$ หนึ่งจำนวน Little Cyan Fish จะบอกคุณว่า $x$ เท่ากับจำนวนเต็มลับของเขาหรือไม่ จงหาจำนวนเต็มลับโดยใช้การถามไม่เกิน $100$ ครั้ง
การโต้ตอบ
ในการถามหนึ่งครั้ง ให้พิมพ์หนึ่งบรรทัดในรูปแบบต่อไปนี้: "$?\ x$" เมื่อ $x$ เป็นจำนวนเต็ม ($1 \le x \le 100$) สำหรับการตอบกลับของคำถามนั้น คุณจะได้รับคำศัพท์เพียงคำเดียวคือ yes หรือ no ซึ่งหมายความว่า $x = a$ หรือ $x \ne a$ ตามลำดับ คุณต้องตรวจสอบให้แน่ใจว่าจำนวนครั้งของการถามที่คุณทำไม่เกิน $100$ ครั้ง
ในการรายงานคำตอบ ให้ส่งออกหนึ่งบรรทัดในรูปแบบต่อไปนี้: "$!\ x$" เมื่อ $x$ คือจำนวนเต็มลับ การรายงานคำตอบจะไม่ถูกนับเป็นการถาม การได้รับ yes ไม่ได้ทำให้การโต้ตอบสิ้นสุดลง: คุณยังคงต้องรายงานคำตอบ โปรแกรมของคุณต้องหยุดทำงานทันทีหลังจากรายงานคำตอบ หลังจากส่งออกคำถามหรือรายงานคำตอบแล้ว อย่าลืมส่งออกอักขระขึ้นบรรทัดใหม่และล้างบัฟเฟอร์ข้อมูลส่งออก (flush output stream)
ในโจทย์ข้อนี้ โปรแกรมโต้ตอบไม่ได้เป็นแบบปรับเปลี่ยนตามคำถาม (not adaptive) จำนวนเต็มลับถูกกำหนดไว้ตายตัวก่อนที่การโต้ตอบจะเริ่มต้นขึ้น และจะไม่เปลี่ยนแปลงในระหว่างการโต้ตอบ
ตัวอย่าง
ข้อมูลนำเข้า 1
no no yes
ข้อมูลส่งออก 1
? 1 ? 2 ? 3 ! 3
หมายเหตุ
ในตัวอย่างแรก จำนวนเต็มลับคือ $3$ การถามด้วย $x = 1$ และ $x = 2$ ได้รับ no และการถามด้วย $x = 3$ ได้รับ yes จากนั้นโปรแกรมจึงรายงาน ! 3
ในตัวอย่างที่สอง จำนวนเต็มลับคือ $1$ การถามครั้งแรกได้รับ yes และโปรแกรมจึงรายงาน ! 1
เครื่องมือทดสอบ: มีเครื่องมือทดสอบเตรียมไว้ให้เพื่อช่วยผู้เข้าแข่งขันในการพัฒนาและทดสอบคำตอบของตนเอง คุณสามารถดาวน์โหลดเครื่องมือนี้ได้จากไฟล์แนบ การสั่งทำงานเครื่องมือด้วยตัวเลือก -h จะอธิบายวิธีการใช้งาน เครื่องมือนี้จะตรวจสอบการโต้ตอบและคำตอบที่รายงาน แต่จะไม่บังคับใช้ขีดจำกัดเวลาหรือหน่วยความจำ