Санды тап - 2


Шешімді жөнелту

Ұпайлар: 1
Уақыт шектеуі: 1.0s
Жад шектеуі: 256M

Author:
Problem type

Бұл — интерактивті есеп. Сізге әр жолды басып шығарғаннан кейін дереу flush әрекетін орындау керек. Мысалы, C++ тілінде fflush(stdout) функциясын, Java тілінде — System.out.flush(), Pascal тілінде — flush(output) және Python тілінде — sys.stdout.flush() функцияларын қолданған жөн.

Бұл есепте қазылар алқасында бір \(x\) саны бар және сізге сол санды табу керек. \(x\) саны әрдайым \(1\) және \(n\) арасындағы бүтін сан екені белгілі. \(n\) саны сізге есептің ең басында беріледі.

Сіз тестілеу жүйесіне сұраныстар жасай аласыз. Әр сұраныс — \(1\) және \(n\) арасындағы бүтін сан. Әр сұранысты басып шығарғаннан кейін flush әрекетін орындаңыз. Тестілеу жүйесі сұранысқа екі түрлі жауап бере алады:

  • қазылар алқасындағы сан сіздің сұраныстағы саннан кішірек болса, "<" (тырнақшасыз) жолы;

  • қазылар алқасындағы сан сіздің сұраныстағы саннан үлкен немесе тең болса, ">=" (тырнақшасыз) жолы.

Сіздің бағдарлама \(x\) санын тапқан кезде, \(x\) мәні жауап болатын "! x" жолын шығарыңыз және flush әрекетін орындап, бағдарламаңызды дереу қалыпты түрде тоқтатыңыз.

Сіздің бағдарламаға тестілеу жүйесіне (жауапты басып шығаруды санамағанда) \(25\)-тен көп емес сұраныс жасауға болады.

Енгізу

Сұраныстарға жауаптарды оқу үшін қалыпты енгізбені қолданыңыз.

Бірінші жолда \(n\) (\(1 \le n \le 10^6\)) бүтін саны — қазылар алқасының ең үлкен мүмкін болатын саны берілген.

Келесі жолдарда сіздің сұраныстарға жауаптар берілетін болады — "<" немесе ">=" жолдары. \(i\)-нші жолда сіздің \(i\)-нші сұранысқа жауап беріледі. Сіздің бағдарлама санды тапқан кезде, \(x\) мәні жауап болатын "! x" жолын шығарыңыз және бағдарламаңызды тоқтатыңыз.

Тестілеу жүйесі сізге сұраныстың жауабын оқуға рұқсатты тек қана сұранысты басып шығарып flush әрекетін орындаған кезде береді.

Шығару

Сұраныстар жасау үшін сіздің бағдарлама қалыпты шықпаны қолдану керек.

Сіздің бағдарлама бүтін сандар \(x_i\) (\(1 \le x_i \le n\)) — сұраныстарды, әрқайсысын жеке жолда, басып шығару керек (әр \(x_i\) мәнінен кейін "жол соңын" ұмытпаңыз). Әр жолды басып шығарғаннан кейін сіздің бағдарлама flush әрекетін орындау керек.

\(x_i\) мәндерінің әрқайсысы тестілеу жүйесіне сұранысты білдіреді. Сұраныстың жауабы енгізбе файлында сіз шықпаға flush әрекетін орындағаннан кейін беріледі. Сіздің бағдарлама \(x\) санын тапқан кезде, \(x\) мәні жауап болатын "! x" жолын шығарыңыз және бағдарламаңызды тоқтатыңыз.

Мысалдар

Енгізу 1
20
~
<
~
>=
~
>=
~
Жауап 1
~
5
~
3
~
4
~
! 4

Пікірлер

Қазіргі уақытта ешқандай пікір жоқ.