#include<cstdio>
int last[500];
long long s[500][30];
long long c[30];
int tt[500];

long long getD(int d){
    for(int i = 1; i <= 26; i++) last[i] = 0;
    long long cur = 0;
    for(int i = 1; i <= d; i++){
        int t = tt[i];
        cur += s[i][t];
        last[t] = i;
        for(int j = 1; j <= 26; j++) cur -= c[j]*(i-last[j]);
    }
    return  cur;
}

int main(){
    int d;
    scanf("%d",&d);
    for(int i = 1; i <= 26; i++) scanf("%lld",&c[i]);
    for(int i = 1; i <= d; i++){
        for(int j = 1; j <= 26; j++) scanf("%lld",&s[i][j]);
    }
    for(int i = 1; i <= d; i++) scanf("%d",&tt[i]);
    int q;
    scanf("%d",&q);
    while(q--){
        int d0, q0;
        scanf("%d%d",&d0,&q0);
        tt[d0] = q0;
        printf("%lld\n",getD(d));
    }
    
    return 0;
}
