#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#include <bits/stdc++.h>
#define int long long
#define lowbit(x) (x&-x)
using namespace std;
const int MAXN = 3e5 + 5;
struct BIT {
int n;
vector<int> bit;
BIT(int _n):n(_n), bit(n+1) {}
void update( int x, int val ) {
if(x <= 0) return;
for(;x <= n; x += lowbit(x)) bit[x] += val;
}
void range_update( int L, int R, int val ) {
update(L,val), update(R+1,-val);
}
int query( int x ) {
int res = 0;
for(;x; x -= lowbit(x)) res += bit[x];
return res;
}
int range_query( int L, int R ) {
return query(R)-query(L-1);
}
};
int f(int l, int r, vector<int>& arr) {
if( r-l <= 1 ) return 0;
int m = (l+r)>>1, ret = f(l,m,arr) + f(m,r,arr);
for(int i = l, j = m; i < m; i++) {
while(j < r && arr[i] > arr[j]) j++;
ret += j-m;
}
sort(arr.begin()+l, arr.begin()+r);
return ret;
}
int inv(vector<int>& arr) {
int n = arr.size();
return f(0, n, arr);
}
int32_t main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n, m, k, INV = 0;
cin >> n >> m;
vector<int> arr(n), val;
vector<vector<int>> aarr;
BIT bit(MAXN);
for(int i = 0; i < n; i++) {
cin >> arr[i];
val.push_back(arr[i]);
}
INV = inv(arr);
for(int i = 0; i < m; i++) {
cin >> k;
vector<int> tmp(k);
for(int j = 0; j < k; j++) {
cin >> tmp[j];
val.push_back(tmp[j]);
}
aarr.push_back(tmp);
}
sort(val.begin(), val.end());
val.resize(unique(val.begin(), val.end())-val.begin());
for(int i = 0; i < n; i++) {
int x = lower_bound(val.begin(), val.end(), arr[i]) - val.begin() + 1;
bit.update(x, 1);
}
for(int i = 0; i < m; i++) {
int k = aarr[i].size(), s = 0, ret = 0;
vector<int> f(k), b(k);
for(int j = 0; j < k; j++) {
int x = lower_bound(val.begin(), val.end(), aarr[i][j] ) - val.begin() + 1;
f[j] = bit.query(x-1), b[j] = bit.range_query(x+1, MAXN);
s += b[j];
}
// cout << ret << '\n';
// for(int i : f) cout << i << ' '; cout << '\n';
// for(int i : b) cout << i << ' '; cout << '\n';
ret += s;
for(int j = 0; j < k; j++) {
ret = min(ret, s);
s = s + f[j] - b[j];
}
ret = min(ret, s);
cout << ret + inv(aarr[i]) + INV << '\n';
}
}