점프 게임

왼쪽에서 1초에 한 칸씩 사라지는 두 줄의 칸에서 앞으로, 뒤로, 또는 다른 줄로 k칸 점프하며 오른쪽 끝을 넘어갈 수 있는지 판정한다.

보통6BFS그래프시뮬레이션아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

상근이는 위 그림과 같은 지도에서 진행하는 게임을 만들었다.

지도는 두 줄로 되어 있고, 각 줄은 NN개의 칸으로 나누어져 있다. 각 칸은 위험한 칸이거나 안전한 칸이다. 유저는 안전한 칸으로만 이동할 수 있고, 위험한 칸으로는 이동할 수 없다.

게임을 시작할 때 유저는 왼쪽 줄의 1번 칸에 서 있다. 유저는 매 초마다 다음 세 가지 행동 중 하나를 해야 한다.

  • 한 칸 앞으로 이동한다. 현재 ii번 칸에 있다면 같은 줄의 i+1i+1번 칸으로 이동한다.
  • 한 칸 뒤로 이동한다. 현재 ii번 칸에 있다면 같은 줄의 i1i-1번 칸으로 이동한다.
  • 반대편 줄로 점프한다. 이때 원래 있던 칸보다 kk칸 앞의 칸으로 이동한다. 현재 왼쪽 줄의 ii번 칸에 있다면 오른쪽 줄의 i+ki+k번 칸으로 이동한다.

번호가 NN보다 큰 칸으로 이동하면 게임을 클리어한 것이다.

게임을 재밌게 만들기 위해 상근이는 1초에 한 칸씩 각 줄의 첫 칸이 사라지는 규칙을 넣었다. 게임을 시작하고 1초가 지나면 두 줄의 1번 칸이 사라지고, 2초가 지나면 2번 칸이 사라진다. 매 초 유저가 먼저 움직인 뒤에 칸이 사라진다. 예를 들어 이번 초에 사라질 칸이 3번 칸이고 유저가 3번 칸에 있다면, 유저가 3번 칸에서 다른 칸으로 이동한 뒤에 3번 칸이 사라진다.

각 칸의 정보가 주어졌을 때, 게임을 클리어할 수 있는지 없는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 NNkk가 주어진다. (1N,k1000001 \le N, k \le 100000)

둘째 줄에 왼쪽 줄의 정보가 길이 NN인 문자열로 주어진다. ii번째 문자가 0이면 ii번 칸은 위험한 칸이고, 1이면 안전한 칸이다. 셋째 줄에 오른쪽 줄의 정보가 같은 형식으로 주어진다.

왼쪽 줄의 1번 칸은 항상 안전한 칸이다.

출력

게임을 클리어할 수 있으면 1을, 없으면 0을 출력한다.