개구리 점프
시간 제한1초메모리 제한1024 MB
n개의 닫힌 구간과 방문할 구간 순서 k개가 주어질 때, 개구리가 구간 1에서 출발해 그 순서대로 방문하는 동안 생기는 점프 길이의 합을 구합니다.
문제
개구리 한 마리가 아름다운 호수에 살고 있다. 호수 위에는 연잎이 한 줄로 많이 떠 있고, 각 연잎은 직선 위의 닫힌 구간으로 주어진다. 개구리는 연잎 위에 머무르기를 좋아하며 연잎 사이를 옮겨 다닌다.
축 위에 닫힌 구간이 개 있고, 개구리는 처음에 어떤 구간 위에 있다. 두 구간이 공통된 점을 하나라도 가지면 두 구간은 겹친다고 한다. 개구리는 겹치는 구간으로 이동할 수 있으므로, 겹치는 구간들을 따라 이동할 수 있다. 개구리가 겹치는 구간들을 따라 오른쪽(왼쪽)으로 이동하다가, 구간 에 도달하면 의 오른쪽(왼쪽) 끝점 너머로는 오른쪽(왼쪽)으로 더 이동할 수 없는 경우가 생길 수 있다. 이때 개구리는 왼쪽 끝점이 의 오른쪽 끝점보다 큰 구간 중 왼쪽 끝점이 가장 작은 구간 로 점프할 수 있다(오른쪽 끝점이 의 왼쪽 끝점보다 작은 구간 중 오른쪽 끝점이 가장 큰 구간). 그런 구간이 있을 때에 한한다. 점프 길이는 의 오른쪽(왼쪽) 끝점과 의 왼쪽(오른쪽) 끝점 사이의 거리이다. 그림 F.1을 참고하라.

그림 F.1 점프 길이
그림 F.2에는 [1, 8], [2, 4], [5, 11], [13, 15], [15, 17], [16, 18], [19, 22], [20, 22]의 구간 8개가 주어져 있고, 1번부터 8번까지 번호가 매겨져 있다. 개구리는 처음에 1번 구간 위에 있다. 개구리가 순서대로 방문해야 하는 구간은 3, 7, 4, 6, 3이다. 개구리는 1번에서 3번으로 점프 없이 이동한다. 3번에서 7번으로는 3번에서 4번, 6번에서 7번으로 가는 점프 두 번을 거치며, 점프 길이의 합은 3이다. 이 이동 중에 개구리는 4번 구간을 지나지만, 4번 구간은 7번 구간 다음에 방문해야 한다. 그래서 7번에서 4번으로, 6번에서 3번으로 가는 점프가 두 번 더 필요하고, 이 점프 길이의 합도 3이다. 주어진 구간을 모두 방문한 뒤 점프 길이의 총합은 6이다. 이 여정에서 개구리는 필요하면 반드시 점프해야 한다.

그림 F.2 주어진 구간 8개
직선 위의 구간 개와 구간 개의 순서열이 주어졌을 때, 개구리가 1번 구간에서 출발해 이 개의 구간을 순서대로 방문하는 동안의 점프 길이 총합을 구하라.
입력
첫 줄에 두 정수 과 (, )가 주어진다. 은 구간의 개수이고 는 개구리가 방문해야 하는 구간의 개수이다. 구간은 1번부터 번까지 번호가 매겨지며, 개구리의 초기 위치는 항상 1번 구간이다. 다음 개 줄의 번째 줄에는 구간 의 왼쪽 끝점 와 오른쪽 끝점 를 나타내는 정수 , ()가 주어진다. 구간은 왼쪽 끝점의 오름차순으로 주어지며, 왼쪽 끝점이 같으면 오른쪽 끝점의 오름차순으로 주어진다. 모든 구간은 서로 다르다. 마지막 줄에는 개구리가 순서대로 방문해야 하는 구간을 나타내는 정수 개가 주어진다. 각 정수는 1 이상 이하이며, 중복될 수 있다.
출력
개구리가 주어진 개의 구간을 순서대로 방문할 때의 점프 길이 총합을 한 줄로 출력한다.