#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
const ll M=1e9+7;
ll n,k,x;
ll p[1000006],cnt[1000006],d[1000006];
vector<pair<ll,ll>> e[1000006];
int main() {
ios_base::sync_with_stdio(0);cin.tie(0);
cin>>n>>k;
ll u[n+1][k+1];
for (ll i=1;i<=n;i++) {
for (ll j=1;j<=k;j++) {
cin>>x;
e[j].push_back({x,i});
}
}
for (ll i=1;i<=n;i++) {
for (ll j=1;j<=k;j++) {
cin>>u[i][j];
}
}
for (ll i=1;i<=k;i++) {
sort(e[i].begin(),e[i].end());
}
for (ll i=1;i<=k;i++) {
p[i]=-1;
}
ll res=0;
while(true) {
vector<ll> a;
for (ll i=1;i<=k;i++) {
while(p[i]<n-1 && d[i]>=e[i][p[i]+1].fi) {
p[i]++;
cnt[e[i][p[i]].se]++;
if (cnt[e[i][p[i]].se]==k) a.push_back(e[i][p[i]].se);
}
}
for (ll i=0;i<a.size();i++) {
for (ll j=1;j<=k;j++) {
d[j]+=u[a[i]][j];
}
}
res+=a.size();
if (a.size()==0) break;
}
cout<<res;
}