#include <bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 1e18;
const int MOD = 1e9+7;
const int MAXN = 2e6;
int n, m;
int k;
int arr[MAXN+5];
void solve(){
cin >> n >> k;
for(int i = 1; i <= n; i++) cin >> arr[i];
int q; cin >> q;
while(q--){
int tipe; cin >> tipe;
if(tipe == 1){
continue;
vector<int> idx;
for(int i = 0; i < k; i++){
int x; cin >> x;
idx.push_back(x);
}
idx.push_back(idx[0]);
int temp = arr[idx[0]];
for(int i = 0; i < k; i++) arr[idx[i]] = arr[idx[i+1]];
arr[idx[k-1]] = temp;
}else{
int l, r, rng; cin >> l >> r >> rng;
int ans = 0;
for(int i = l; i <= r; i++){
ans += arr[i] * min(min(abs(l - i), abs(r - i)) + 1, min(rng, n - rng + 1));
}
// cerr << "=> ";
cout << ans << endl;
}
}
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int tc = 1;
// cin >> tc;
while(tc--){
solve();
}
return 0;
}