Guess by Remainder

아직 제출이 없습니다시간 제한2.5초메모리 제한512 MB

문제

We have chosen an integer mm between 11 and nn. Your task is to guess it, and you have to do no more queries than necessary for this nn. Each of your queries must be an integer which has no more than nn digits in its decimal notation. The answer to query xx is the remainder xmodmx \bmod m.

입력

In the beginning, your program will receive one integer nn (1n1061 \le n \le 10^6).

Then your program will receive the answers to the queries. Each answer is an integer.

출력

Your program can make queries in the form "? number\mathit{number}". When you think you know the answer, you should print "! guess\mathit{guess}", and then terminate your program immediately. Don't forget to output the line break and flush the output. To do so, you can use the following instructions:

  • fflush(stdout) in C++;
  • System.out.flush() in Java;
  • stdout.flush() in Python;
  • flush(output) in Pascal.

힌트

You are not prohibited to output leading zeroes, but the checking program counts them when determining the length of the number. For example, if n=3n = 3, query "001001" is valid, but "00010001" is invalid.

The second sample just demonstrates the interaction format, guessing can be done in smaller number of queries.