#include<bits/stdc++.h>
using namespace std;
int main(){
	int h,w,a[110][110],maxx=0,minn=1010;
	long long sum=0;
	cin>>h>>w;
	for(int i=1;i<=h;i++){
		for(int j=1;j<=w;j++){
			cin>>a[i][j];
			minn=min(minn,a[i][j]);
			maxx=max(maxx,a[i][j]);
		}
	} 
	if(maxx==minn) {
		cout<<0;
		return 0;
	}
	else {
		for(int i=1;i<=h;i++){
			for(int j=1;j<=w;j++)
			{
				sum+=a[i][j]-minn;
			}
		}
	}
	cout<<sum;
	return 0;
} 
//インクルードなど
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

//イテレーション
#define REP(i,n) for(ll i=0;i<ll(n);i++)
#define REPD(i,n) for(ll i=n-1;i>=0;i--)
#define FOR(i,a,b) for(ll i=a;i<=ll(b);i++)
#define FORD(i,a,b) for(ll i=a;i>=ll(b);i--)
#define FORA(i,I) for(const auto& i:I)
//x:コンテナ
#define ALL(x) x.begin(),x.end()
#define SIZE(x) ll(x.size())
//定数
#define INF32 2147483647 //2.147483647×10^{9}:32bit整数のinf
#define INF64 9223372036854775807 //9.223372036854775807×10^{18}:64bit整数のinf
#define MOD 1000000007 //問題による
//略記
#define F first
#define S second
//出力(空白区切りで昇順に)
#define coutALL(x) for(auto i=x.begin();i!=--x.end();i++)cout<<*i<<" ";cout<<*--x.end()<<endl;

//aをbで割る時の繰上げ,繰り下げ
ll myceil(ll a, ll b) {return (a + (b - 1)) / b;}
ll myfloor(ll a, ll b) {return a / b;}

int main() {
	//input
	ll N, Q; cin >> N >> Q;

	vector<ll> A(N);
	vector<ll> B(N);
	REP(i, N) {
		cin >> A[i];
		B[i] = A[i] - i;
	}

	vector<ll> K(Q);
	REP(i, Q) cin >> K[i];

	//calculation
	REP(i, Q) {
		ll k = K[i];

		if (k >= B[N - 1]) {
			cout << A[N - 1] + 1 + k - B[N - 1] << endl;
			continue;
		}

		REP(j, N) {
			if (B[j] > k) {
				if (j == 0) cout << k << endl;
				else cout << A[j - 1] + 1 + k - B[j - 1] << endl;
				break;
			}
		}

	}

	return 0;
}
