#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll myRand(ll B) {
    return (ull)rng() % B;
}
inline double time() {
    return static_cast<long double>(chrono::duration_cast<chrono::nanoseconds>(chrono::steady_clock::now().time_since_epoch()).count()) * 1e-9;
}

void slv() {
    int n,m; cin >> n >> m;
    vector<ll> a(m);
    ll res = 0;
    for (int i = 0; i < m; ++i) {
        cin >> a[i];
        res += a[i]*a[i];
    }
    int q; cin >> q;
    while (q--) {
        int i; cin >> i; i--;
        ll x; cin >> x;
        int j; cin >> j; j--;
        res -= a[i]*a[i];
        res -= a[j]*a[j];
        a[i] -= x;
        a[j] += x;
        res += a[i]*a[i];
        res += a[j]*a[j];
        cout << res << "\n";
    }
}

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
//    int q; cin >> q;
//    while (q--) {
//        slv();
//    }
    slv();
}