Trong một hội nghị thuật toán thế giới, Ban tổ chức đã treo cờ dọc theo đường dẫn vào trung tâm hội nghị, có N lá cờ được đánh số từ 1 đến N, lá cờ thứ i có màu là ~A_i~.
Tuy nhiên, sau khi treo cờ lên, ngài Chủ tịch hội nghị nhận thấy dãy cờ có quá nhiều màu khác nhau là không hợp lí. Bộ phận phụ trách rà soát và cho biết còn dư M lá cờ, được đánh số từ 1 đến M, lá cờ thứ j có màu là ~B_j~ nên họ quyết định sẽ thay thế một số lá cờ để được dãy cờ có ít màu nhất có thể. Lá cờ bị thay xuống hiển nhiên sẽ không được sử dụng trong các lần thay thế tiếp theo vì đã bị rách. Đồng thời lá cờ đã được gắn lên cũng không được phép gỡ xuống.
Yêu cầu: Hãy tìm cách thay một số (hoặc giữ nguyên) lá cờ đã treo bằng một số lá cờ trong số cờ còn dư sao cho tổng số màu xuất hiện trên dãy cờ chính thức là ít nhất.
Input
Dữ liệu: Có dạng:
- Dòng đầu ghi số nguyên N và M là số cờ đã treo và số cờ còn dư.
- Dòng thứ 2 ghi N số nguyên Ai cho biết màu của các lá cờ đã treo (0≤Ai≤255,1≤i≤N).
- Dòng thứ 3 ghi M số nguyên Bj cho biết màu của các lá cờ còn dư (0≤Bj≤255,1≤j≤M). Các số trên cùng dòng cách nhau bởi dấu cách.
Output
Kết quả: Gồm một dòng duy nhất ghi số nguyên K là số màu còn lại của dãy cờ chính thức sau khi thực hiện thay thế.
Simple Examples
Input
9 4
1 2 5 4 8 9 3 5 5
2 5 5 5
Output
3
Note
Giải thích: Dãy cờ mới sẽ là: 1 2 5 5 2 5 5 5 5. Các số tô đậm mô tả các lá cờ được thay thế.
Chú ý:
Có 40% số test có N ≤ 1000,M = 1.
Có 30% số test có N ≤ 1000,M ≤ 1000.
Có 30% số test còn lại có N ≤ ~10^5~; M ≤ ~10^5~.
Comments