회전초밥

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

문제

UCPC시에는 세계 최고로 유명한 회전초밥집이 있다. 그 이름은 바로 ”뭐든지 회전하는 회전초밥집”이다! 이 회전초밥집은 요리사도, 손님들도 전부 회전하는 독특한 컨셉으로 SNS에서 큰 인기를 끌었다. 이 유명한 가게를 놓칠 수 없었던 UCPC 출제진들은 몇 달 전에 가게에 예약하였고, 오늘 드디어 그 회전초밥집에 방문하게 되었다!

NN명의 출제진이 회전초밥집을 방문하였고, 주방에서는 이에 맞추어 N+1N+1명의 요리사를 대기시켰다. ii번째 요리사는 1분마다 b_ib\_i개의 초밥을 만들 수 있다. 처음에 웨이터가 출제자들을 일렬로 앉힌 뒤, ii번째 위치한 출제자에게 a_ia\_i개의 초밥을 나누어주었다. 그리고 1분마다 다음의 행동이 순서대로 반복되었다.

  1. 1iN1\leq i\leq N을 만족하는 모든 ii에 대하여, ii번째에 위치한 요리사가 ii번째에 위치한 출제자에게 초밥을 만들어준다. 이때, 만들어주는 초밥의 양은 그 요리사가 1분마다 만들 수 있는 초밥의 양과 같다. N+1N+1번째에 위치한 요리사는 초밥을 만들지 않고 휴식한다.
  2. 요리사들이 한 번 회전한다. 즉, 원래 11번째에 위치한 요리사는 22번째로, 원래 22번째에 위치한 요리사는 33번째로..., 원래 N+1N+1번째에 위치한 요리사는 11번째로 이동한다.
  3. 출제진이 한 번 회전한다. 즉, 원래 11번째에 위치한 출제자는 22번째로, 원래 22번째에 위치한 출제자는 33번째로..., 원래 NN번째에 위치한 출제자는 11번째로 이동한다.

각 출제자는 언제라도 자신에게 초밥 한 세트가 모여있다면 바로 그 초밥 세트를 먹는다. 여기서 초밥 한 세트는 종류 상관없이 초밥 KK개의 묶음을 의미한다. 초밥을 먹는 데 걸리는 시간은 무시한다.

출제자들은 음식을 남기는 것을 아주 싫어하기 때문에, 모두가 가지고 있는 초밥의 양이 00이 될 때까지 식사하려고 한다. 식사를 시작한 지 몇 분 후에 식사를 끝마치게 될까?

입력

첫 번째 줄에 정수 NN, KK가 공백으로 구분되어 주어진다. (1N2,000;(1\leq N\leq 2\\, 000; 2K1,000,000)2\leq K\leq 1\\, 000\\, 000)

두 번째 줄에 a_1,a_2,,a_Na\_1,a\_2,\cdots ,a\_N이 공백으로 구분되어 주어진다. (0a_iK1)(0\leq a\_i\leq K-1)

세 번째 줄에 b_1,b_2,,b_N+1b\_1,b\_2,\cdots ,b\_{N+1}이 공백으로 구분되어 주어진다. (1b_iK1)(1\leq b\_i\leq K-1)

출력

출제진이 식사를 끝마칠 때까지 걸린 시간을 분 단위로 출력한다. 만약 무한한 시간이 지나도 출제진이 식사를 끝마치지 못한다면 대신 -1을 출력한다.