#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn = 2e5+5;
ll x[maxn],a[maxn];
int n,m; ll ans;
signed main()
{
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin>>n>>m;
for(int i = 1; i <= m; i++) cin>>x[i];
for(int i = 1; i <= m; i++) {cin>>a[i];--a[i];}
if(x[1] != 1)
{
cout<<-1;
return 0;
}
ll dis = 0;
for(int i = 1; i < m; i++)
{
dis = x[i+1] - x[i] - 1;
if(a[i] < dis){cout<<-1; return 0;}
ans += (1+dis)*dis/2;
a[i] -= dis;
ans += (dis+1)*a[i];
a[i+1] += a[i];
a[i] = 0;
}
if(a[m] > (n-x[m])){cout<<-1; return 0;}
dis = n - x[m];
ans += (dis+1)*dis/2;
cout<<ans<<endl;
return 0;
}