Распределба

Томи и Аце, вработени на ФИНКИ, се одговорни за креирање на распоредот на часови по предметот Вештачка Интелигенција. Во добиената спецификација за поделба на студентите по групи која што треба да ја направат било дадено колку групи треба да се формираат и по колку студенти треба да има во секоја група (на пример, една група со 21 студент и друга со 32 студенти). Но тие, по грешка, работеле според некоја стара спецификација и поинаку ги поделиле студентите (на пример, една група со 17 студенти, друга со 21 и трета со 15).

За да не се забележи дека Томи и Аце ја утнале работата, тие решиле да земат и да ја менуваат распределбата "малку по малку". Конкретно, тие сакаат секоја недела да прават по точно една од следниве две операции:

    - креирање на нова група и нејзино пополнување со дел од студентите од точно една постоечка група

    - затворање на група и преместување на сите студенти од таа група во некоја (точно една) од другите (постоечки) групи


На тој начин, нема да има преместување на студенти од една постоечка (активна) група во друга: преместувањето се врши само при креирање на нова група и при затворање на група.

Пресметајте за колку најмалку недели Томи и Аце можат да ја "поправат" распределбата или отпечатете -1 доколку тоа не е можно.



Влез

Во првата линија е запишан бројот на креирани групи N (1 ≤ N ≤ 10). Во втората линија се запишани точно N цели броеви Si (1 ≤ Si ≤ 50), кои го означуваат бројот на студенти во секоја од групите.

Во третата линија е запишан бројот на групи според спецификацијата (целната распределба) M (1 ≤ M ≤ 10). Во четвртата линија се запишани точно M цели броеви Fi (1 ≤ Fi ≤ 50), кои го означуваат бројот на студенти во секоја од целните групи. Имајте во предвид дека редоследот не е важен, па, на пример, следниве две поделби се идентични: {1, 3, 2} и {3, 2, 1}.

Забелешка: Во тест случаи кои вредат најмалку 30% од поените, вкупниот број на студенти ќе биде помал од 16.



Излез

Да се отпечати бараниот минимален број на седмици за да се добие целната распределба; или -1 доколку не е можно да се "поправи" распределбата.



Ограничувања

Временско ограничување: 2 seconds
Мемориско ограничување: 64 megabytes



Примери


влез
2
1 3
1
4
излез
1


влез
3
4 3 5
3
4 6 2


излез
2


Објаснување за вториот пример: Томи и Аце најпрвин (во првата седмица) можат да креираат нова група и да преместат 1 студент од групата со 3 студенти во таа група (тогаш, поделбата ќе изгледа вака: {4, 1, 2, 5}), а потоа (во втората седмица) да ја затворат ново креираната група со еден студент и да го преместат овој студент во групата со 5 студенти. Конечната (целната) поделба ќе изгледа вака: {4, 2, 6}.



 Submit your code