#include #define ll long long #define pb push_back #define ff first #define ss second #define mp make_pair using namespace std; ll m,n,p,r[505],c[505],a[1005][1005],b[1005][1005],skor_r[505],skor_c[505],usteda; bool gotov; vector>>v; pair>nesto; void unos(){ cin>>m>>n>>p; for(int i=1;i<=m;i++){ cin>>r[i]; } for(int i=1;i<=n;i++){ cin>>c[i]; } for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; a[i+n][j]=a[i][j]; } } for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cin>>b[i][j]; b[i+n][j]=b[i][j]; } } } void izracunaj_skor(){ memset(skor_r,0,sizeof(skor_r)); memset(skor_c,0,sizeof(skor_c)); for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ skor_r[i]+=a[i][j]*b[i][j]; skor_c[j]+=a[i][j]*b[i][j]; } } } void apdejt(pair> par){ char oznaka=par.ff; ll id=par.ss.ff; ll korak=par.ss.ss; if(oznaka=='R'){ for(int i=1;i<=n;i++){ a[id][i]=a[id][i+korak]; } for(int i=1;i<=n;i++){ a[id][i+n]=a[id][i]; } } else{ for(int i=1;i<=m;i++){ a[i][id]=a[i+korak][id]; } for(int i=1;i<=m;i++){ a[i+n][id]=a[i][id]; } } } int main () { freopen("movethematrix.in","r",stdin); freopen("movethematrix.out","w",stdout); cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false); unos(); //if(n>=100 or m>=100)p=5; //if(p>20)p=20; izracunaj_skor(); //while(p>0){ usteda=0; ll temp,x; ///redovi for(int i=1;i<=m;i++){ for(int shift=1;shift