시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB4731439726.146%

문제

shake! 회사에서는 사용자 목록을 자체 개발한 특별한 방법으로 저장한다. 이 방법을 알고 있는 사람은 세계에 단 두 명밖에 없었지만, 최근 Acka가 shake! 회사를 해킹하여 방법을 세상에 공개하였다.

그 방법은 각 사용자의 데이터를 양의 정수로 표현한 뒤, 데이터 조각으로 바꿔 이어 붙인 뒤 파일에 저장하는 것이다. 각 데이터 조각은 맨 앞에 데이터 조각의 길이를 적고, 나머지 부분에 양의 정수로 표현한 데이터를 적는 것으로 만든다.

예를 들어, 3명의 사용자가 있고, 각 사용자의 데이터가 {2, 5, 5}, {1, 4, 5, 1}, {2, 3, 1}이라고 해 보자. 각각을 데이터 조각으로 바꾸면 {4, 2, 5, 5}, {5, 1, 4, 5, 1}, {4, 2, 3, 1}이 되고, 최종적으로 데이터 조각을 이어 붙여 {4, 2, 5, 5, 5, 1, 4, 5, 1, 4, 2, 3, 1}을 파일에 저장한다.

그런데 Acka가 해킹하는 과정에서 사용자 목록을 저장한 파일을 훼손할 수 있기 때문에, 사용자 목록 파일에 원래는 있어야 하지 말아야 할 수들이 추가되었을 수 있다. shake! 회사에서는 사용자 목록을 복구하기 위해 각 수가 원래의 사용자 목록에도 있었을 가능성을 모두 계산하였으나, 원래의 파일을 복구하는 데에는 실패했다.

이제, shake! 회사의 유능한 직원인 당신이 원래의 파일을 복구해야 한다. 손상된 파일과 각 수가 원래의 사용자 목록에도 있었을 가능성이 주어질 때, 수를 적당히 지워서 올바른 파일로 복구하되, 지운 수들의 가능성의 최댓값을 최소화하여라.

입력

첫 줄에 손상된 파일을 이루는 수의 개수 N(1 ≤ N ≤ 100,000)이 주어진다.

다음 줄에 손상된 파일을 이루는 정수 N개가 주어진다. 이 수들은 모두 1 이상 N 이하이다.

다음 줄에 각 수가 원래의 사용자 목록에도 있었을 가능성을 나타내는 정수 N개가 주어진다. 이 수들은 모두 1 이상 100,000 이하이다.

출력

첫 줄에 지운 수들의 가능성의 최댓값을 최소화했을 때, 지운 수들의 가능성의 최댓값을 출력한다.

만약 수를 지우지 않아도 된다면 0을 출력한다.

예제 입력 1

10
3 1 3 2 2 3 1 3 1 3
2 3 1 2 2 1 2 3 3 2

예제 출력 1

1

예제 입력 2

20
5 4 2 5 5 5 1 3 2 4 5 5 1 4 2 3 5 5 4 2
2 3 3 4 5 4 4 1 2 5 2 5 4 4 3 2 1 5 2 5

예제 출력 2

2

예제 입력 3

15
5 5 5 5 5 4 4 4 4 3 3 3 2 2 1
1 2 3 4 5 1 2 3 4 1 2 3 1 2 1

예제 출력 3

0

힌트

예제 1에 대해, 3번째 수와 6번째 수를 지우면 {3, 1, 2}, {2, 1}, {3, 1, 3}이 된다.

예제 2에 대해, 1번째, 8번째, 9번째, 11번째, 16번째, 17번째, 19번째 수를 지우면 {4, 2, 5, 5}, {5, 1, 4, 5, 1}, {4, 2, 5, 2}가 된다.

예제 3에 대해, 수를 지우지 않아도 {5, 5, 5, 5, 5}, {4, 4, 4, 4}, {3, 3, 3}, {2, 2}, {1}이 된다.