몇몇 친구들이 함께 빨래를 하기로 했다. 모두 깔끔한 성격이라 매일 깨끗한 양말 한 켤레와 셔츠 한 벌을 입는다. 이제 더러워진 양말과 셔츠를 모두 빨았고, 빨래집게로 널어서 말리려고 한다.
다음 규칙을 지키기로 했다.
친구 i가 di일 동안 빨래를 모았다면, 그 친구에게는 양말 di켤레와 셔츠 di벌이 있으므로, 양말에는 빨래집게 2⋅di개(모두 같은 색), 셔츠에는 빨래집게 3⋅di개(모두 같은 색)가 필요하다. 한 사람이 양말과 셔츠에 같은 색을 써도 되고, 서로 다른 두 색을 써도 된다.
친구들은 가진 빨래집게를 색깔별로 개수를 세어 두었다. 사용해야 하는 색 종류 수의 최솟값을 구하여라.
첫째 줄에 친구의 수 n과 사용할 수 있는 빨래집게 색의 종류 수 k가 주어진다 (2≤n,k≤1,000,000).
둘째 줄에 n개의 정수 d1,d2,…,dn이 주어진다 (1≤di≤1,000,000). di는 친구 i가 빨래를 모은 일수이다.
셋째 줄에 k개의 정수 l1,l2,…,lk가 주어진다 (1≤li≤4,000,000). li는 i번째 색의 빨래집게 개수이다.
규칙에 맞게 모든 빨래를 널기 위해 필요한 빨래집게 색 종류 수의 최솟값을 한 줄에 출력한다. 불가능하다면 대신 NIE를 출력한다.
첫 번째 예제에는 친구가 두 명 있다. 첫 번째 친구(d1=3)는 양말에 빨래집게 6개, 셔츠에 9개가 필요하고, 두 번째 친구(d2=4)는 양말에 8개, 셔츠에 12개가 필요하다. 8+12=20이므로 두 번째 친구는 빨래집게가 20개인 첫 번째 색을 양말과 셔츠에 함께 쓸 수 있다. 그러면 첫 번째 친구는, 예를 들어 각각 10개씩 있는 두 번째 색과 네 번째 색을 하나는 양말, 하나는 셔츠에 쓸 수 있다. 모두 합해 세 가지 색을 사용한다.