씽크스몰

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

문제

많이 자란 정민이는 부모님이 시키는 유명한 학습지 씽크스몰을 풀어야 한다. 이번에 배울 단원은 다항식의 곱셈이다. 그런데 정민이는 게임을 해야 해서, 점수를 나눠 줄 테니 다항식 f(x)f(x)와 다항식 g(x)g(x)를 곱하는 프로그램을 대신 써 달라고 부탁한다.

입력

첫째 줄에 다항식 f(x)f(x)의 차수 NN과 다항식 g(x)g(x)의 차수 MM이 공백을 사이에 두고 주어진다. (1N1,000,0001 \le N \le 1{,}000{,}000, 1M1,000,0001 \le M \le 1{,}000{,}000)

둘째 줄에 f(x)f(x)의 계수인 자연수 a0,a1,,aNa_0, a_1, \dots, a_NN+1N + 1개 주어진다. 즉 f(x)=a0+a1x+a2x2++aNxNf(x) = a_0 + a_1 x + a_2 x^2 + \dots + a_N x^N이다. (1ai1,000,0001 \le a_i \le 1{,}000{,}000)

셋째 줄에 g(x)g(x)의 계수인 자연수 b0,b1,,bMb_0, b_1, \dots, b_MM+1M + 1개 주어진다. 즉 g(x)=b0+b1x+b2x2++bMxMg(x) = b_0 + b_1 x + b_2 x^2 + \dots + b_M x^M이다. (1bi1,000,0001 \le b_i \le 1{,}000{,}000)

출력

f(x)×g(x)=c0+c1x+c2x2++cLxLf(x) \times g(x) = c_0 + c_1 x + c_2 x^2 + \dots + c_L x^L이라고 하자.

첫째 줄에 모든 계수를 xor한 값 c0c1cLc_0 \oplus c_1 \oplus \dots \oplus c_L을 출력한다. C나 C++이라면 c[0] ^ c[1] ^ ... ^ c[L]을 계산하면 된다.

계수를 하나하나 출력하기에는 양이 너무 많아서 xor한 값을 묻는다. 푸는 방법은 달라지지 않는다.

힌트

f(x)=1+2xf(x) = 1 + 2x이고 g(x)=3+2xg(x) = 3 + 2x이면 f(x)×g(x)=3+8x+4x2f(x) \times g(x) = 3 + 8x + 4x^2이다.