#include #define ll long long #define ull unsigned long long #define ld long double using namespace std; ll INF = 1LL<<60; #define rep(i, n) for (int i = 0; i < (n); ++i) #define rep1(i, n) for (int i = 1; i <= (int)(n); ++i) #define rrep(i, n) for (int i = (int)(n) - 1; i >= 0; --i) #define nfor(i,s,n) for(int i=s;i=n;--i) #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define chmax(x,y) x = max(x,y) #define chmin(x,y) x = min(x,y) #define pop_cnt(s) ll(popcount(uint64_t(s))) #define next_p(v) next_permutation(all(v)) #define sz(x) (int)(x).size() #define pb push_back #define eb emplace_back #define fi first #define se second #define mp make_pair #define mt make_tuple #define yn(ans) cout << (ans ? "Yes" : "No") << "\n" #define YN(ans) cout << (ans ? "YES" : "NO") << "\n" #define fix(n) fixed<; template using pq = priority_queue>; template using pq_g = priority_queue,greater>; template using vc = vector; template using vv = vc>; template using vvv = vv>; templateistream& operator>>(istream& i,vc& v){ rep(j, size(v))i>>v[j]; return i; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n,m;cin>>n>>m; vca(n+1),b(m+1),c(m+1,0); rep1(i,n)cin>>a[i]; rep1(i,m)cin>>b[i]; int ans=0; rep1(i,n){ if(c[a[i]]+1>b[a[i]]){ ++ans; }else{ c[a[i]]++; } } cout<