#include <bits/stdc++.h>
char m[2234567];
int a[234567], l[2234567];
int main() {
  int n;
  scanf("%d", &n);
  int i;
  for (i = 0; i < n; i++) {
    int x;
    scanf("%d", &x);
    m[x] = 1;
  }
  int t = -1;
  for (i = 1; i <= 2000000; i++) {
    if (m[i]) t = i;
    l[i] = t;
  }
  int ans = 0;
  for (i = 1; i <= 1000000; i++) {
    if (m[i]) {
      int j = i;
      while (j <= 1000000) {
        if (l[j + i - 1] >= j)
          if (ans < l[i + j - 1] - j) ans = l[i + j - 1] - j;
        j += i;
      }
    }
  }
  printf("%d\n", ans);
  return 0;
}
