#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f, N = 5e5 + 5;
int n, m, a[N], b[N], nxt[N];
long long sum[N], ans, del;
bool vis[N];
set<int> s;
map<int, int> lst;
struct BIT {
long long c[N];
BIT() { memset(c, -63, sizeof c); }
void add(int x, long long v) {
for (int i = x; i <= n; i += i & -i) {
c[i] = max(c[i], v);
}
}
long long query(int x) {