const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
const n = Number(await readline());
const arr = (await readline()).split(" ").map(Number);
let sum = arr.reduce((a, b) => a + b);
if (sum % 2 !== 0) return console.log(-1);
const bag = sum / 2;
const dp = Array(bag + 1).fill(Infinity);
dp[0] = 0;
for (const num of arr) {
for (let i = bag; i >= num; i--) {
if (dp[i - num] !== Infinity) {
dp[i] = Math.min(dp[i], dp[i - num] + 1);
}
}
}
console.log(dp[bag] === Infinity ? -1 : dp[bag]);
})();