많이 자란 정민이는 부모님이 시키는 유명한 학습지 씽크스몰을 풀어야 한다. 이번에 배울 단원은 다항식의 곱셈이다. 그런데 정민이는 게임을 해야 해서, 점수를 나눠 줄 테니 다항식 f(x)와 다항식 g(x)를 곱하는 프로그램을 대신 써 달라고 부탁한다.
첫째 줄에 다항식 f(x)의 차수 N과 다항식 g(x)의 차수 M이 공백을 사이에 두고 주어진다. (1≤N≤1,000,000, 1≤M≤1,000,000)
둘째 줄에 f(x)의 계수인 자연수 a0,a1,…,aN이 N+1개 주어진다. 즉 f(x)=a0+a1x+a2x2+⋯+aNxN이다. (1≤ai≤1,000,000)
셋째 줄에 g(x)의 계수인 자연수 b0,b1,…,bM이 M+1개 주어진다. 즉 g(x)=b0+b1x+b2x2+⋯+bMxM이다. (1≤bi≤1,000,000)
f(x)×g(x)=c0+c1x+c2x2+⋯+cLxL이라고 하자.
첫째 줄에 모든 계수를 xor한 값 c0⊕c1⊕⋯⊕cL을 출력한다. C나 C++이라면 c[0] ^ c[1] ^ ... ^ c[L]을 계산하면 된다.
계수를 하나하나 출력하기에는 양이 너무 많아서 xor한 값을 묻는다. 푸는 방법은 달라지지 않는다.
f(x)=1+2x이고 g(x)=3+2x이면 f(x)×g(x)=3+8x+4x2이다.