#include <bits/stdc++.h>
using namespace std;
int n, m, x, a;
long long ans;
int gcd(int a, int b) {
  if (a % b == 0)
    return b;
  else
    return gcd(b, a % b);
}
void get(long long x) {
  while (x < m) {
    ans += m - x;
    x *= 2;
  }
}
int main() {
  cin >> n >> m >> x;
  x--;
  for (int i = 2; i <= n; i++) {
    scanf("%d", &a);
    x = gcd(x, a - 1);
    if (x == 1) break;
  }
  for (int i = 1; i * i <= x; i++)
    if (x % i == 0) {
      int t = x / i;
      if (i % 2 != 0) get(i);
      if (t != i && t % 2 != 0) get(t);
    }
  cout << ans << endl;
}
