#include using namespace std; int n , i , val , y , x , j , moves; set < int > my[22] , my0 , aux; set < int > :: iterator it; vector < int > sol; int main() { //freopen("input" , "r" , stdin); //freopen("output" , "w" , stdout); cin >> n; for (i = 1 ; i <= n ; ++i) { cin >> val; for (j = 0 ; (1 << j) <= val ; ++j) my[j].insert(i); } sort(my , my + 20); for (i = 0 ; i <= 20 ;) { if (my[i].size() == 0) {i++; continue;} my0 = my[i]; while (i <= 20 && my0 == my[i]) i++; moves++; } cout << moves << '\n'; return 0; }