빨래

아직 제출이 없습니다시간 제한3초메모리 제한128 MB

문제

몇몇 친구들이 함께 빨래를 하기로 했다. 모두 깔끔한 성격이라 매일 깨끗한 양말 한 켤레와 셔츠 한 벌을 입는다. 이제 더러워진 양말과 셔츠를 모두 빨았고, 빨래집게로 널어서 말리려고 한다.

다음 규칙을 지키기로 했다.

  • 양말 한 짝은 빨래집게 한 개로 고정한다.
  • 셔츠 한 벌은 빨래집게 세 개로 고정한다.
  • 한 사람의 양말에 쓰는 빨래집게는 모두 같은 색이어야 한다.
  • 한 사람의 셔츠에 쓰는 빨래집게는 모두 같은 색이어야 한다.
  • 서로 다른 사람의 옷에는 같은 색의 빨래집게를 쓸 수 없다.
  • 위 조건을 모두 지키면서, 사용하는 빨래집게 색의 종류 수를 최소로 한다.

친구 iidid_i일 동안 빨래를 모았다면, 그 친구에게는 양말 did_i켤레와 셔츠 did_i벌이 있으므로, 양말에는 빨래집게 2di2 \cdot d_i개(모두 같은 색), 셔츠에는 빨래집게 3di3 \cdot d_i개(모두 같은 색)가 필요하다. 한 사람이 양말과 셔츠에 같은 색을 써도 되고, 서로 다른 두 색을 써도 된다.

친구들은 가진 빨래집게를 색깔별로 개수를 세어 두었다. 사용해야 하는 색 종류 수의 최솟값을 구하여라.

입력

첫째 줄에 친구의 수 nn과 사용할 수 있는 빨래집게 색의 종류 수 kk가 주어진다 (2n,k1,000,0002 \le n, k \le 1{,}000{,}000).

둘째 줄에 nn개의 정수 d1,d2,,dnd_1, d_2, \ldots, d_n이 주어진다 (1di1,000,0001 \le d_i \le 1{,}000{,}000). did_i는 친구 ii가 빨래를 모은 일수이다.

셋째 줄에 kk개의 정수 l1,l2,,lkl_1, l_2, \ldots, l_k가 주어진다 (1li4,000,0001 \le l_i \le 4{,}000{,}000). lil_iii번째 색의 빨래집게 개수이다.

출력

규칙에 맞게 모든 빨래를 널기 위해 필요한 빨래집게 색 종류 수의 최솟값을 한 줄에 출력한다. 불가능하다면 대신 NIE를 출력한다.

설명

첫 번째 예제에는 친구가 두 명 있다. 첫 번째 친구(d1=3d_1 = 3)는 양말에 빨래집게 66개, 셔츠에 99개가 필요하고, 두 번째 친구(d2=4d_2 = 4)는 양말에 88개, 셔츠에 1212개가 필요하다. 8+12=208 + 12 = 20이므로 두 번째 친구는 빨래집게가 2020개인 첫 번째 색을 양말과 셔츠에 함께 쓸 수 있다. 그러면 첫 번째 친구는, 예를 들어 각각 1010개씩 있는 두 번째 색과 네 번째 색을 하나는 양말, 하나는 셔츠에 쓸 수 있다. 모두 합해 세 가지 색을 사용한다.