#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e3 + 10;
int n, a[N], sum;
// 检查是否可以将神秘物品分成 x 组且每组的神秘指数和相同
bool check(int x) {
int val = sum / x; // 每组的目标和
int cnt = 0; // 当前组的和
for (int i = 1; i <= n; i++) {
cnt += a[i];
if (cnt == val) {
cnt = 0; // 当前组和达到目标,开始新的一组
} else if (cnt > val) {
return false; // 当前组和超过目标,分组失败
}
}
return cnt == 0; // 检查最后一组是否正好达到目标和
}
int main() {
// 读取神秘物品的数量
cin >> n;
// 读取每个神秘物品的神秘指数值,并计算总和
for (int i = 1; i <= n; i++) {
cin >> a[i];
sum += a[i];
}
// 从 n 开始枚举分组数,找到最小的可行分组数
for (int i = n; i >= 1; i--) {
if (sum % i == 0 && check(i)) {
cout << sum / i; // 输出每组的神秘指数和
break;
}
}
return 0;
}