#include <bits/stdc++.h>
using namespace std;
int i, j, k, n, m, t;
long long an;
int gcd(int a, int b) { return !b ? a : gcd(b, a % b); }
inline void work(int x) {
  if (x % 2 == 0) return;
  for (; x < m; x <<= 1) an += m - x;
}
int main() {
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n; i++) {
    scanf("%d", &k);
    if (i == 1)
      t = k - 1;
    else
      t = gcd(t, k - 1);
  }
  for (i = 1; i * i <= t; i++)
    if (t % i == 0) {
      work(i);
      if (i * i < t) work(t / i);
    }
  printf("%I64d", an);
  return 0;
}
