Aceasta este problema arme (1063) în care s-au mărit dimensiunile vectorilor. Încercați să rezolvați mai întâi problema originală, apoi pe aceasta.
Vasile joacă (din nou!) jocul său preferat cu împuşcături. Personajul său are la brâu N arme, aşezate în N huse speciale, numerotate de la 1 la N. Arma din husa i are puterea pbi (1≤i≤N). În camera armelor a găsit M arme, aşezate pe perete, în M locaţii, numerotate de la 1 la M. Pentru fiecare armă j (1≤j≤M) este cunoscută puterea sa pcj. Vasile poate înlocui arme pe care le are la brâu cu arme aflate pe perete în camera armelor. La o înlocuire el ia arma de pe perete din locaţia j (1≤j≤M) şi o pune la brâu în husa i (1≤i≤N), iar arma din husa i o pune pe perete în locaţia j.
Cerinţă
Scrieţi un program care să determine suma maximă a puterilor armelor pe care le va avea la brâu Vasile după efectuarea înlocuirilor.
Date de intrare
Datele se citesc de la tastatură. De pe prima linie se citesc numerele naturale N M, reprezentând numărul de arme pe care le are la brâu, respectiv numărul de arme aflate în camera armelor. Pe a doua linie se află N numere naturale pb1 pb2 … pbN reprezentând în ordine puterile armelor pe care Vasile le are la brâu. Pe a treia linie se află M numere naturale pc1 pc2 … pcM reprezentând în ordine puterile armelor aflate în camera armelor. Numerele scrise pe aceeaşi linie sunt separate prin spaţiu.
Date de ieșire
Se va afișa la ecran suma maximă a puterilor armelor de la brâul lui Vasile, după efectuarea înlocuirilor.
Restricții și precizări
10.000 ≤ N, M ≤ 50.000- Puterile armelor sunt numere naturale
≤1.000.000.000.
Exemplu:
Intrare
3 2 3 1 7 4 5
Ieșire
16