상근이는 카약 대회를 열었다. 그런데 경기가 시작되기 직전에 강풍이 불어 일부 팀의 카약이 부서졌고, 경기는 곧바로 시작해야 하는 상황이다.
다행히 몇몇 팀은 만일을 대비해 여분의 카약을 하나 더 가져왔다. 카약은 매우 무겁고 옮기기 어렵기 때문에, 자신의 바로 앞이나 바로 뒤 순서로 경기하는 팀에게만 여분의 카약을 빌려줄 수 있다. 즉, 팀 4는 여분의 카약을 팀 3이나 팀 5에게만 빌려줄 수 있다. 다른 팀에게서 빌린 카약을 또 다른 팀에게 다시 빌려줄 수는 없다. 또한 여분의 카약을 가져온 팀이라도 자신의 원래 카약이 부서졌다면, 그 팀은 여분의 카약으로 직접 경기에 나서야 하며 이 카약은 다른 팀에게 빌려줄 수 없다.
카약이 부서진 팀과 여분의 카약을 가져온 팀이 주어질 때, 카약을 적절히 빌려주어 출발하지 못하는 팀의 수를 최소로 만들었을 때 그 최솟값을 구하는 프로그램을 작성하시오.
첫째 줄에 팀의 수 N, 카약이 부서진 팀의 수 S, 여분의 카약을 가져온 팀의 수 R이 주어진다. (2 ≤ N ≤ 10, 1 ≤ S, R ≤ N)
둘째 줄에는 카약이 부서진 팀의 번호가 주어진다. 팀 번호는 중복되지 않는다.
셋째 줄에는 여분의 카약을 가져온 팀의 번호가 주어진다. 팀 번호는 중복되지 않는다.
출발하지 못하는 팀의 수의 최솟값을 첫째 줄에 출력한다.