시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB43212110430.058%

문제

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

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

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

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

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

입력

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

$N$

출력

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

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

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

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

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

  • ! $a_0$ $a_1$ $a_2$ ... $a_N$ : 각 다항식의 계수를 출력한다.

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

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

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

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

제한

  • $0 \le N \lt 100$
  • $0 \leq a_i < 10^9$
  • $a_N \neq 0$
  • $a_i$는 $i$차항의 계수를 나타낸다.
  • 연산의 결과는 $10^{1000}$을 넘지 않는다.

서브태스크

번호배점제한
15

$N = 0$

210

$N = 1$

315

$N = 2$

470

$N \ge 3$

예제 입력 1

2

6

11

18

예제 출력 1


? 1

? 2

? 3

! 3 2 1

채점 및 기타 정보

  • 예제는 채점하지 않는다.