Statement
바닥에 서로 다른 장의 카드가 일렬로 놓여 있다. 왼쪽에서부터 번째 카드를 바닥의 번 카드라 하며, 이 카드에는 양의 정수 가 쓰여 있다.
또한 당신은 서로 다른 장의 카드를 손에 들고 있다. 손의 번 카드에는 양의 정수 가 쓰여 있다.
번의 게임을 진행한다. 번째 게임에서는 바닥의 번 카드 각각의 앞에 서로 다른 손 카드 한 장씩을 놓는다.
- 한 게임에서는 같은 손 카드를 두 번 이상 사용할 수 없다. 따라서 서로 다른 장의 손 카드를 사용한다.
- 어떤 손 카드를 어떤 바닥 카드 앞에 놓을지는 자유롭게 정할 수 있다.
- 바닥 카드에 쓰인 양의 정수와 그 앞에 놓은 손 카드에 쓰인 양의 정수가 같을 때마다 점을 얻는다.
게임이 끝나면 사용한 손 카드를 모두 회수하여 다시 손에 넣는다. 따라서 모든 게임은 서로 독립적이며, 이전 게임에서 사용한 손 카드를 이후의 게임에서 다시 사용할 수 있다.
각 게임에서 얻을 수 있는 최대 점수를 구하여라.
Constraints
- ()
- ()
- ()
Input
첫 줄에는 카드의 수 과 게임의 횟수 가 공백으로 구분되어 주어진다.
둘째 줄에는 개의 정수 이 공백으로 구분되어 주어진다. 는 바닥의 번 카드에 쓰인 양의 정수를 나타낸다.
셋째 줄에는 개의 정수 이 공백으로 구분되어 주어진다. 는 손의 번 카드에 쓰인 양의 정수를 나타낸다.
다음 개의 줄 중 번째 줄에는 번째 게임에서 사용하는 바닥 카드의 범위를 나타내는 두 정수 와 가 공백으로 구분되어 주어진다.
Output
개의 줄을 출력한다.
번째 줄에는 번째 게임에서 얻을 수 있는 최대 점수를 출력한다.
Subtasks
Samples
예제 1
입력
5 3
1 2 1 3 2
1 1 2 4 5
1 5
2 4
4 5
출력
3
2
1
예제 2
입력
6 4
1 1 1 2 2 3
1 1 2 2 2 4
1 3
1 5
2 6
6 6
출력
2
4
4
0