시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
가로줄과 세로줄이 각각 N개 있는 격자가 있다. 인접한 두 가로줄 사이의 거리와 인접한 두 세로줄 사이의 거리는 모두 1이다. 왼쪽에서 x번째 세로줄과 아래쪽에서 y번째 가로줄이 만나는 교차점을 (x, y)로 나타낸다. 왼쪽 아래 교차점을 S = (1, 1)이라고 한다.
하나의 철사를 다음 규칙에 따라 격자 위에 놓는다.
S이고, 두 끝점은 서로 붙어 있다.입력으로는 철사가 지나가는 꺾임점들이 방문 순서대로 주어진다. 철사는 S에서 시작해 주어진 꺾임점들을 차례대로 지나고, 마지막에는 다시 S로 돌아온다.
그다음 격자를 세로줄과 평행한 직선으로 자른다. 이 직선은 I번째 세로줄과 (I + 1)번째 세로줄 사이의 정확한 가운데를 지난다. 입력은 이 직선이 철사를 적어도 두 조각으로 나누는 경우만 주어진다.
철사의 배치와 자르는 직선이 주어졌을 때, 잘린 철사 조각들 중 가장 긴 조각의 길이를 구하라.
첫째 줄에 가로줄과 세로줄의 개수 N이 주어진다 (2 <= N <= 1,000,000).
둘째 줄에 철사의 꺾임점 개수 K가 주어진다 (1 <= K <= 100,000).
다음 K개의 줄에는 각 꺾임점의 좌표 x와 y가 공백으로 구분되어 주어진다.
마지막 줄에는 자르는 직선이 I번째 세로줄과 (I + 1)번째 세로줄 사이를 지난다는 뜻의 정수 I가 주어진다 (1 <= I <= N - 1).
잘린 철사 조각들 중 가장 긴 조각의 길이를 출력한다.