비밀의 레시피

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

문제

신촌빵집 승은이는 안암빵집 민석이와 앙숙인 관계이다. 매일같이 경쟁을 하던 어느날 승은이는 새로운 비밀의 빵 레시피를 만들어 냈다.

이 레시피로 만든 빵은 너무 맛있어서 모든 사람들이 이 빵을 먹기 위해 줄을 섰다. 이러한 엄청난 인기에 승은이는 앙숙인 민석이가 이 레시피를 훔쳐갈 것을 걱정하여 최고의 보안 업체에서 금고를 하나 구매 하였다.

이 금고의 비밀번호는 NN차 다항식으로 이루어져 있다. 계수는 음이 아닌 정수(0a_i<109)(0 \leq a\_i < 10^9)이고 최고차항의 계수는 0이 아님이 보장된다. 승은이는 이 금고에 레시피를 보관해 놓았지만 기억력이 좋은 편은 아니라 옆에 비밀번호의 힌트를 주는 컴퓨터를 설치해 놓았다.

이 컴퓨터는 N+1N+1번 질문할 수 있으며 정수 하나를 입력하면 다항식에 대입하여 계산한 결과를 내어놓는다. 또한 질문 횟수를 초과하면 경보가 울리도록 하였다.

불쌍한 우리 민석이가 레시피를 훔칠 수 있도록 도와주자.

입력

입력은 아래와 같이 주어진다.

NN

출력

다음을 표준 출력 스트림(stdout)으로 한 줄에 출력하여, 연산 결과를 질문 할 수 있다.

  • ? kk: 다항식에 k를 대입한 결과를 출력한다. (0<k<231)(0 \lt k \lt 2^{31})

대입한 결과는 10100010^{1000}을 넘지 않는다.

각 질문을 출력한 후에는 반드시 표준 출력 버퍼를 flush해 주어야 하고, 최고차항이 NN일 때 최대 N+1N+1번 질문이 가능하다. 그 이상으로 질문을 요청한 경우 틀렸습니다를 받는다. 또한 kk의 범위를 벗어나는 경우 틀렸습니다를 받는다.

만약 다항식을 알아냈다면, 표준 출력 스트림으로 다음을 한 줄에 출력한다.

  • ! a_0a\_0 a_1a\_1 a_2a\_2 ... a_Na\_N : 각 다항식의 계수를 출력한다.

그 후 반드시 표준 출력 버퍼를 flush해야 하고, 프로그램을 종료한다. 이것은 질문 횟수에 포함되지 않는다.

언어별로 표준 출력 버퍼를 flush하는 방법은 다음과 같다.

flush 이전에 마지막에 개행문자 '\n'를 넣어야 한다.

  • C: fflush(stdout)
  • C++: std::cout << std::flush
  • Java: System.out.flush()
  • Python: sys.stdout.flush()

제한

  • 0N<1000 \le N \lt 100
  • 0a_i<1090 \leq a\_i < 10^9
  • a_N0a\_N \neq 0
  • a_ia\_iii차항의 계수를 나타낸다.
  • 연산의 결과는 10100010^{1000}을 넘지 않는다.