func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m;   long long a[100010], ans;   long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }   inline long long cal(long long a) {     if (a % 2 == 0) return 0;     long long tmp = 0;     for (int i = 0; (a << i) < m; i++) {       tmp += m - (a << i);     }     return tmp;   }   int main() {     scanf( %d%d , &n, &m);     long long d = 0;     for (int i = 0; i < n; i++) {       cin >> a[i];       if (i)         d = gcd(d, a[i] - 1);       else         d = a[i] - 1;     }     for (int i = 1; i * i <= d; i++) {       if (d % i == 0) {         ans += cal(i);         if (i * i != d) ans += cal(d / i);       }     }     cout << ans << endl;     return 0;   }   