#include <bits/stdc++.h>
using namespace std;
const int N = 2000010, MOD = 1e9 + 7;
int a[200020];
int pre[N];
bool have[N];
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) scanf("%d", a + i), have[a[i]] = 1;
  sort(a, a + n);
  n = unique(a, a + n) - a;
  int mx = a[n - 1];
  mx <<= 1;
  int last = 0;
  for (int i = 1; i <= mx; i++) {
    if (!have[i])
      pre[i] = last;
    else {
      pre[i] = last;
      last = i;
    }
  }
  int ans = 0;
  int i = a[0] == 1;
  for (; i < n; i++) {
    for (int j = a[i] + a[i]; j < mx; j += a[i]) {
      if (j - a[n - 1] >= a[i]) break;
      int ret = pre[j];
      if (j - ret >= a[i]) continue;
      ans = max(ans, a[i] - (j - ret));
    }
  }
  cout << ans << endl;
  return 0;
}
