만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

1D 게임

시간 제한2초메모리 제한1024 MB

요약
위험한 턴에 임시 발판 위에 서지 않고 캐릭터가 L번 칸에 도달하는 가장 빠른 턴을 구합니다. 위험한 턴은 T턴마다 반복됩니다.
난이도

어려움10점 중 8점

유형
최단 경로, 그래프, 정수론
정답자
아직 제출이 없습니다

문제

SCSC에 갓 들어온 뉴비가 고인물들에게 자신의 실력을 보여주려고 게임을 만들었다.

게임은 간단하다. 캐릭터는 가장 왼쪽 끝의 00번 칸부터 가장 오른쪽 끝의 LL번 칸까지 번호가 순서대로 매겨진 일렬의 L+1L+1개 칸 위를 움직인다. 캐릭터는 00번 칸에서 출발해 LL번 칸에 도달해야 한다. KK개 칸에는 영구 발판이, 나머지 L+1−KL+1-K개 칸에는 임시 발판이 놓여 있다. 임시 발판은 특정 턴이 되면 잠시 사라졌다가 다시 생기는데, 그때 임시 발판 위에 있던 캐릭터는 떨어져 패배한다. 이렇게 임시 발판이 사라지는 턴을 위험한 턴이라고 부른다. 시작점인 00번 칸과 도착점인 LL번 칸에는 영구 발판이 놓여 있다.

각 턴은 다음 순서로 진행된다. 턴 번호는 00부터 시작하며, 캐릭터는 00번 칸에서 출발한다.

  1. 캐릭터가 LL번 칸에 있으면 승리하고 게임이 끝난다. 이때의 턴 번호를 승리 시간이라고 한다.
  2. 현재 턴이 위험한 턴이면 모든 임시 발판이 사라졌다가 다시 생긴다. 캐릭터가 임시 발판이 있었던 칸에 있으면 떨어져 패배하고 게임이 끝난다.
  3. 캐릭터는 현재 칸에서 왼쪽이나 오른쪽으로 11칸 이동하거나 그 자리에 머문다. 00번 칸에서는 왼쪽으로 이동할 수 없다.
  4. 턴이 끝나고 다음 턴이 시작되며, 턴 번호가 11 증가한다.

00번 턴부터 T−1T-1번 턴까지 NN개의 위험한 턴이 있고, 턴 번호는 각각 t1t_1, t2t_2, ⋯\cdots, tNt_N번이다. 위험한 턴은 게임이 시작하는 00번 턴부터 TT턴을 주기로 반복된다. 즉, tt를 TT로 나눈 나머지 rr이 {t1,t2,⋯ ,tN}\{t_1, t_2, \cdots, t_N\}에 속하면 tt번 턴은 위험한 턴이다. 예를 들어 T=4T=4, N=2N=2, t1=0t_1=0, t2=1t_2=1이면 00, 11, 44, 55, 88, ⋯\cdots번 턴이 위험한 턴이다.

뉴비는 게임 로직을 모두 완성했다. 하지만 발판 배치와 위험한 턴의 배열이 주어졌을 때 얼마나 빨리 승리할 수 있는지는 잘 모른다. 뉴비를 도와 가장 빨리 승리할 수 있는 시간을 구해 주자.

입력

첫째 줄에 정수 TT와 NN이 공백으로 구분되어 주어진다. (1≤T≤10121 \leq T \leq 10^{12}; 1≤N≤1061 \leq N \leq 10^6; N≤TN \leq T)

둘째 줄에 정수 LL과 KK가 공백으로 구분되어 주어진다. (1≤L≤10121 \leq L \leq 10^{12}; 2≤K≤1062 \leq K \leq 10^6; K≤L+1K \leq L+1)

셋째 줄에 00번 턴과 T−1T-1번 턴 사이에 발생하는 NN개의 위험한 턴 번호 t1t_1, t2t_2, ⋯\cdots, tNt_N이 공백으로 구분되어 오름차순으로 주어진다. (0≤ti≤T−10 \leq t_i \leq T - 1)

넷째 줄에 영구 발판이 놓인 KK개 칸의 번호 l1l_1, l2l_2, ⋯\cdots, lKl_K가 공백으로 구분되어 오름차순으로 주어진다. (0≤lj≤L0 \leq l_j \leq L; l1=0l_1 = 0; lK=Ll_K = L)

출력

가능한 승리 시간의 최솟값을 출력한다. 유한 번의 턴 안에 승리할 수 없다면 What is that map newbie...를 출력한다.

LL번 칸에 도착하는 즉시 게임이 끝나는 것이 아니라, 다음 턴이 시작된 뒤 과정 1에서 게임이 끝난다는 점에 유의하라.

힌트

C/C++, Java 등의 언어에서 일부 변수를 int로 선언하면 오버플로우가 발생할 수 있으니 주의하라.

예제2

  1. 예제 1

    입력
    4 2
    5 4
    0 1
    0 1 2 5
    
    예상 출력
    8
    
  2. 예제 2

    입력
    5 5
    9 2
    0 1 2 3 4
    0 9
    
    예상 출력
    What is that map newbie...