#include <bits/stdc++.h>
using namespace std;
const int maxn = 30000;
int a[maxn];
int n, sum = 0;
int res = -1 * (1 << 30);
int csum = 0;
int b[maxn];
vector<int> v;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    sum += a[i];
  }
  for (int i = 0; i < n; i++) {
    if (i < 2) continue;
    if (i * i > n) break;
    if (n % i == 0) {
      if (n / i >= 3) v.push_back(i);
      if (i * i != n) {
        if (i >= 3) v.push_back(n / i);
      }
    }
  }
  int l = v.size();
  for (int i = 0; i < l; i++) {
    int d = v[i];
    for (int start = 0; start < d; start++) {
      csum = a[start];
      for (int j = (start + d) % n; j != start; j = (j + d) % n) {
        csum += a[j];
      }
      res = max(res, csum);
    }
  }
  res = max(res, sum);
  printf("%d", res);
  return 0;
}
