#include <bits/stdc++.h>
using namespace std;
inline long long gcd(long long x, long long y) {
  while ((x %= y) && (y %= x))
    ;
  return x + y;
}
long long c[1000000];
int main() {
  int n, i, d, r;
  long long m, x, y, z, sum;
  cin >> n >> m;
  cin >> x;
  x--;
  for (i = 1; i < n; i++) {
    cin >> y;
    x = gcd(x, y - 1);
  }
  r = 0;
  for (i = 1; i * i < x; i++) {
    if (x % i == 0) {
      if (i % 2) c[r++] = i;
      if ((x / i) % 2) c[r++] = x / i;
    }
  }
  if (i * i == x && i % 2) c[r++] = i;
  sort(c, c + r);
  sum = 0;
  for (y = 1; y < m; y *= 2) {
    for (i = 0; i < r && c[i] * y < m; i++) {
      sum += m - y * c[i];
    }
  }
  cout << sum << endl;
  return 0;
}
