#include "bits/stdc++.h"
using namespace std;
using ll = long long;
const ll MOD = 1000000007;
const double PI = 3.141592653589793238;
int main() {
  ll N, Q;
  cin >> N >> Q;
  vector<ll> A(N);
  for (ll i = 0; i < N; ++i) cin >> A[i];
  for (ll q = 0; q < Q; ++q) {
    ll K;
    cin >> K;
    ll l = -1, r = (LLONG_MAX) / 2;
    while (r - l > 1) {
      ll m = (l + r) / 2;
      ll x = (upper_bound(A.begin(), A.end(), m) - A.begin());
      if (m - x >= K) r = m;
      else l = m;
    }
    cout << r << "\n";
  }
}

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp> 
#include <ext/pb_ds/tree_policy.hpp> 
using namespace std;
using namespace __gnu_pbds; 
 
#define int long long int
#define double long double
#define pb push_back
#define fi first
#define se second
#define vi vector<int>
#define pii pair<int,int>
#define vpii vector<pair<int,int>>
#define pqi priority_queue<int>
#define test int tcase; cin>>tcase; for(int tc = 1; tc <= tcase; tc++)
#define inp(a,n,f) vector<int> a(n+f);for(int hh=f;hh<n+f;hh++)cin>>a[hh];
#define printdecimal(k) cout<<fixed<<setprecision(k);
#define mem(a,k) memset(a,k,sizeof(a))
#define ub upper_bound
#define lb lower_bound
#define all(v) v.begin(),v.end()
#define mod (int)(1e9+7)
#define inf LLONG_MAX
#define OrderedSet tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
int exp(int x,int y){int val=1;x=x%mod;while(y>0){if(y&1)val=(val*x)%mod;y=y>>1;x=(x*x)%mod;}return val;}
int modinv(int x){return exp(x,mod-2);}
int add(int a,int b){a%=mod,b%=mod;a=((a+b)%mod+mod)%mod;return a;}
int sub(int a,int b){a%=mod,b%=mod;a=((a-b)%mod+mod)%mod;return a;}
int mul(int a,int b){a%=mod,b%=mod;a=((a*b)%mod+mod)%mod;return a;}


signed main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	int n,q;
	cin>>n>>q;
	inp(a,n,0);
	vector<int> pre(n);
	pre[0]=a[0]-1;
	for(int i=1;i<n;i++)
		pre[i]=pre[i-1]+a[i]-a[i-1]-1;
	while(q--)
	{
		int k;
		cin>>k;
		auto it=lb(all(pre),k);
		if(it!=pre.end())
		{
			int pos=it-pre.begin();
			//cout<<a[pos]<<' '<<pre[pos]<<'\n';
			cout<<a[pos]-(pre[pos]-k+1)<<'\n';
		}
		else
			cout<<a[n-1]+k-pre[n-1]<<'\n';
	}
	return 0;
}