#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
void compare(vector<vector<int>> &a,vector<vector<int>> &b,vector<int> &bnum,int x,int y,int r);
int main(void) {
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
vector<vector<int>> a;
vector<vector<int>> b;
vector<int> tempa;
vector<int> bnum;
int s,t,n,m,r,temp,anum,mininum;
cin>>s>>t>>n>>m>>r;
//輸入a矩陣
for (int i=1; i<=s; i++) {
for (int i2=1; i2<=t; i2++) {
cin>>temp;
tempa.push_back(temp);
}
a.push_back(tempa);
tempa.clear();
}
//輸入b矩陣
for (int i=1; i<=n; i++) {
for (int i2=1; i2<=m; i2++) {
cin>>temp;
tempa.push_back(temp);
}
b.push_back(tempa);
tempa.clear();
}
//main
for (int x=0; x<b[0].size()-a[0].size()+1; x++) {
for (int y=0; y<b.size()-a.size()+1; y++) {
compare(a,b,bnum,x,y,r);
}
}
//output
for (int i=0; i<a.size(); i++) {
for (int i2=0; i2<a[0].size(); i2++) {
anum = anum+a[i][i2];//a矩陣大小
}
}
cout<<bnum.size()<<endl;
if (bnum.size()==0) {
cout<<-1<<endl;
} else {
mininum = abs(bnum[0]-anum);
for (int i=0; i<bnum.size(); i++) {
if (abs(bnum[i]-anum)<mininum) {
mininum = abs(bnum[i]-anum);
}
}
cout<<mininum<<endl;
}
return 0;
}
void compare(vector<vector<int>> &a,vector<vector<int>> &b,vector<int> &bnum,int x,int y,int r) {
int num = 0;
int num2 = 0;
for (int i=0; i<a.size(); i++) {
for (int i2=0; i2<a[0].size(); i2++) {
if (a[i][i2]!=b[y+i][x+i2]) {
num = num+1;
}
}
}
if (num<=r) {
for (int i=0; i<a.size(); i++) {
for (int i2=0; i2<a[0].size(); i2++) {
num2 = num2+b[y+i][x+i2];
}
}
bnum.push_back(num2);
}
}
int s,t,n,m,r,temp,anum,mininum;
anum沒有初始化