#include <bits/stdc++.h>
using namespace std;
long long R;
int n, m, g;
set<int> s;
int gcd(int a, int b) {
  while (a && b)
    if (a > b)
      a %= b;
    else
      b %= a;
  return a + b;
}
void f(int a) {
  if (s.find(a) != s.end()) return;
  s.insert(a);
  while (a < m) {
    R += m - a;
    a <<= 1;
  }
}
int main() {
  cin >> n >> m >> g;
  --g;
  for (int i = 1, a; i < n; ++i) {
    cin >> a;
    g = gcd(g, --a);
  }
  for (int i = 1; i * i <= g; ++i)
    if (g % i == 0) {
      if (i & 1) f(i);
      if ((g / i) & 1) f(g / i);
    }
  cout << R;
  return 0;
}
