#include <bits/stdc++.h>
#define ff first
#define ss second
#define rep(i, n) for (int i = 0; i < n; i++)
#define rep1(i, n) for (int i = 1; i <= n; i++)
using namespace std;
int main () {
int n, m;
cin >> n >> m;
map<int, vector<int>> mp;
vector<pair<int, bool>> a(m);
// 0 surug 1 eireg
rep(i, m) {
int v;
cin >> v;
if (v < 0) {
a[i] = make_pair(v * -1, 0);
mp[v * -1].push_back(i);
}
else {
a[i] = make_pair(v, 1);
mp[v].push_back(i);
}
}
int cnt = 1;
for(auto i : mp) {
for (auto j : i.ss) {
a[j].ff = cnt;
}
cnt++;
}
n = cnt;
// rep(i, m) {
// cout << a[i] << " ";
// }
int ans = 0;
vector<bool> vis(n, true), cur(n, false);
rep(j, m) {
int i = a[j].ff;
if (!a[j].ss) {
vis[i] = true;
continue;
}
if (vis[i] == true) {
vis[i] = false;
cur[i] = true;
// cout << cur[i];
// cout << i;
}
else {
if (cur[i] == true) {
ans++;
cur = vector<bool> (n, false);
}
cur[i] = true;
}
}
cout << ans << endl;
}