#include <bits/stdc++.h>
using namespace std;
int solve(vector<int>& A) {
stack<int> s;
for (int a : A) {
int x = 1 << a;
if (!s.empty() && s.top() == x) {
s.pop();
if (!s.empty()) {
s.top() += x;
} else {
s.push(x);
}
} else {
s.push(x);
}
}
return s.size();
}
int main() {
int n;
cin >>n;
vector<int>a(N);
for (int i=0;i<N;i++) {
cin >> a[i];
}
int ans = solve(a);
cout <<ans<< endl;
return 0;
}
/*
if输入:
5
0 0 0 1 2
should输出:
4
this输出:
3
*/