피보나치 합

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

문제

피보나치 수는 다음과 같이 정의되는 정수 수열이다: F0=1F_0 = 1, F1=1F_1 = 1, 그리고 i2i \ge 2에 대해 Fi=Fi2+Fi1F_i = F_{i-2} + F_{i-1}이다. 이 수열의 처음 몇 항은 1,1,2,3,5,8,1, 1, 2, 3, 5, 8, \dots 이다.

컴퓨터 과학자 Byteazar는 수를 피보나치 진법으로 표현하는 특이한 컴퓨터를 만들고 있다. 즉, 비트열 (b1,b2,,bn)(b_1, b_2, \dots, b_n)은 수 b1F1+b2F2++bnFnb_1 F_1 + b_2 F_2 + \dots + b_n F_n을 나타낸다. (여기서 F0F_0은 사용하지 않는다는 점에 유의하라.) 안타깝게도 이 표현은 유일하지 않다. 즉, 같은 수가 여러 표현을 가질 수 있다. 예를 들어 수 4242(0,0,0,0,1,0,0,1)(0,0,0,0,1,0,0,1), (0,0,0,0,1,1,1,0)(0,0,0,0,1,1,1,0), (1,1,0,1,0,1,1)(1,1,0,1,0,1,1) 로 쓸 수 있다. 이런 이유로 Byteazar는 다음 두 조건을 만족하는 표현만 사용하기로 했다.

  • n>1n > 1이면 bn=1b_n = 1이다. 즉, 표현에 앞자리 00이 없다.
  • bi=1b_i = 1이면 bi+1=0b_{i+1} = 0이다 (i=1,,n1i = 1, \dots, n-1). 즉, 표현에 연속한 두 개(이상)의 11이 없다.

Byteazar는 덧셈을 구현하는 데 어려움을 겪고 있다. 그를 도와라!

다음을 수행하는 프로그램을 작성하라.

  • 표준 입력에서 두 양의 정수의 표현을 읽는다.
  • 그 합의 표현을 계산하여 표준 출력에 쓴다.

입력

입력에는 위 조건을 만족하는 두 양의 정수 xxyy의 피보나치 표현이 담겨 있으며, 하나는 첫째 줄에, 다른 하나는 둘째 줄에 주어진다. 각 표현은 공백 하나로 구분된 음이 아닌 정수들의 수열이다. 줄의 첫 번째 수는 표현의 길이 nn을 나타내며 1n10000001 \le n \le 1\,000\,000이다. 그 뒤에 nn개의 00 또는 11이 이어진다.

출력

출력의 유일한 한 줄에, 합 x+yx + y의 (위 조건을 만족하는) 피보나치 표현을 쓴다. 표현은 입력 절에서 설명한 것처럼 공백 하나로 구분된 음이 아닌 정수들의 수열이어야 한다. 줄의 첫 번째 수는 표현의 길이 nn을 나타내며 1n10000001 \le n \le 1\,000\,000이고, 그 뒤에 nn개의 00 또는 11이 이어진다.