#include <bits/stdc++.h>
using namespace std;

using ll = long long;

ll setE(vector<int>&a){
	map<ll,ll>mp;
	
	for(int num : a){
		mp[num]++;
	}
	ll seti = 0;
	for(auto it:mp){
		ll x = it.first;
		ll y = it.second;
		
		if(y%2 !=0)seti++;
		
		if(y/2 > 0)mp[x+1]+=y/2;
	}
	return seti;
}
int main() {
 int n;
 cin>>n;
 
 vector<int>a(n);
 
 for(int i = 0;i<n ;i++){
 	cin>>a[i];
 }
 ll ans = setE(a);
 cout<<ans<<endl;
	return 0;
}