#include <bits/stdc++.h>
using namespace std;
int w[1501000], cnt[1501000];
int main() {
  int N, i;
  int po, ans;
  scanf("%d", &N);
  for (int i = (0); i < (N); i++) scanf("%d", w + i);
  sort(w, w + N);
  memset(cnt, 0, sizeof(cnt));
  for (int i = (0); i < (N); i++) cnt[w[i]]++;
  po = 0;
  ans = 0;
  for (int po = (0); po < (1501000); po++) {
    if (cnt[po] == 0) continue;
    cnt[po + 1] += cnt[po] / 2;
    if (cnt[po] % 2) ans++;
  }
  printf("%d\n", ans);
  return 0;
}
