


`#include <bits/stdc++.h>
using namespace std;
#define For(i,n) for(int i=0;i<n;i++)
#define mem(a,b) memset(a,b,sizeof(a))
#define int long long int
#define ld long double
#define fio ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0)
#define pb push_back
#define mp make_pair
#define mod 1000000007
#define ld long double
#define pb push_back
#define ff first
#define ss second
#define vpi vector<pair<int,int> >
#define vv vector
#define MAXN 1001
int A[MAXN];
const int N = 100001;
int ans[N], ans2[N];
void merge(pair<int, int> a[], int start,
int mid, int end)
{
pair<int, int> f[mid - start + 1],
s[end - mid];
int n = mid - start + 1;
int m = end - mid;
for (int i = start; i <= mid; i++)
f[i - start] = a[i];
for (int i = mid + 1; i <= end; i++)
s[i - mid - 1] = a[i];
int i = 0, j = 0, k = start;
int cnt = 0;
while (i < n && j < m)
{
if (f[i].second <= s[j].second)
{
ans[f[i].first] += cnt;
a[k++] = f[i++];
}
else
{
cnt++;
a[k++] = s[j++];
}
}
while (i < n)
{
ans[f[i].first] += cnt;
a[k++] = f[i++];
}
while (j < m)
{
a[k++] = s[j++];
}}
void mergesort(pair<int, int> item[],
int low, int high)
{
if (low >= high)
return;
int mid = (low + high) / 2;
mergesort(item, low, mid);
mergesort(item, mid + 1, high);
merge(item, low, mid, high);}
void print(int n)
{
for (int i = 0; i < n; i++)
cout << ans[i] << " " << ans2[i] << " ";
}
int32_t main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
fio;
int t;
cin >> t;
while (t--)
{
int n;
cin >> n;
int k;
cin >> k;
vector arr(n);
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
pair<int, int> a[n], a1[n];
for (int i = 0; i < n; i++)
{
a[i].second = arr[i];
a[i].first = i;
}
mergesort(a, 0, n - 1);
reverse(arr.begin(), arr.end());
for (int i = 0; i < n; i++)
{
a1[i].second = arr[i];
a1[i].first = i;
}
for (int i = 0; i <= n; i++)
{
ans2[i] = ans[i];
ans[i] = 0;
}
mergesort(a1, 0, n - 1);
//print(n);
while (k--)
{
int x;
cin >> x;
if (x == 1)
cout << ans2[0] + 1 << endl;
else if (x == n)
cout << ans[n - 1 - n + 1] + 1 << endl;
else
cout << ans[n - 1 - x + 1] + ans2[x - 1] + 1 << endl;
}
}}`