#include using namespace std; using ll = long long; using ld = long double; template using vc = vector; template using vvc = vc>; #define overload4(a, b, c, d, name, ...) name #define rep1(n) for (ll i = 0; i < n; ++i) #define rep2(i, n) for (ll i = 0; i < n; ++i) #define rep3(i, a, b) for (ll i = a; i < b; ++i) #define rep4(i, a, b, c) for (ll i = a; i < b; i += c) #define rep(...) overload4(__VA_ARGS__, rep4, rep3, rep2, rep1)(__VA_ARGS__) #define all(i) begin(i), end(i) bool chmin(auto &a, const auto &b) { if (a <= b) return 0; a = b; return 1; } bool chmax(auto &a, const auto &b) { if (a >= b) return 0; a = b; return 1; } void solve(); int main() { cin.tie(nullptr); ios::sync_with_stdio(false); cout << fixed << setprecision(20); ll t = 1; // cin >> t; for (int i = 1; i <= t; i++) solve(); return 0; } ll dy[] = {0, 1, 0, -1}, dx[] = {1, 0, -1, 0}; void solve() { ll n, m; cin >> n >> m; vector a(m); rep(i, n) cin >> a[i], a[i]--; vector cur(n); iota(all(cur), 0); set> st; for (auto x : a) { swap(cur[x], cur[x + 1]); st.insert({min(cur[x], cur[x + 1]), max(cur[x], cur[x + 1])}); } cout << st.size() << endl; }