#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
vector<int>num;
ll int n,s=0,p,d=0,c=1,l=0,b=0,z=0;
cin>>n;
ll int a[n],j;
for(int i=1; i<=n; i++)
{
cin>>a[i];
}
for(int i=1; i<=n; i++)
{
b=b+a[i];
}
ll int m=0,o=0;
if(b!=0)
{
cout<<"-1"<<endl;
}
else if(b==0)
{
for(int i=1; i<=n; i++)
{
s=s+a[i];
if(s==0)
{
z++;
p=i;
for(j = c; j <=i; j++)
{
for(int k = j + 1; k <=i; k++)
{
if(a[k] == a[j])
{
o++;
break;
}
}
}
c=i+1;
if(o!=0)
{
break;
}
}
}
if(o!=0)
{
cout<<-1<<endl;
}
if(o==0)
{
cout<<z<<endl;
for(int i=1; i<=n; i++)
{
s=s+a[i];
if(s==0 && (i-l)>0)
{
cout<<i-l<<" ";
//num.push_back(i-l);
l=i;
}
}
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7CiAgICB2ZWN0b3I8aW50Pm51bTsKICAgIGxsIGludCBuLHM9MCxwLGQ9MCxjPTEsbD0wLGI9MCx6PTA7CiAgICBjaW4+Pm47CiAgICBsbCBpbnQgYVtuXSxqOwogICAgZm9yKGludCBpPTE7IGk8PW47IGkrKykKICAgIHsKICAgICAgICBjaW4+PmFbaV07CiAgICB9CiAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKQogICAgewogICAgICAgIGI9YithW2ldOwogICAgfQogICAgbGwgaW50IG09MCxvPTA7CiAgICBpZihiIT0wKQogICAgewogICAgICAgIGNvdXQ8PCItMSI8PGVuZGw7CiAgICB9CiAgICBlbHNlIGlmKGI9PTApCiAgICB7CiAgICAgICAgZm9yKGludCBpPTE7IGk8PW47IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIHM9cythW2ldOwogICAgICAgICAgICBpZihzPT0wKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB6Kys7CiAgICAgICAgICAgICAgICBwPWk7CiAgICAgICAgICAgICAgICBmb3IoaiA9IGM7IGogPD1pOyBqKyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZm9yKGludCBrID0gaiArIDE7IGsgPD1pOyBrKyspCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZihhW2tdID09IGFbal0pCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8rKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYz1pKzE7CiAgICAgICAgICAgICAgICBpZihvIT0wKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKG8hPTApCiAgICAgICAgewogICAgICAgICAgICBjb3V0PDwtMTw8ZW5kbDsKICAgICAgICB9CiAgICAgICAgaWYobz09MCkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PHo8PGVuZGw7CiAgICAgICAgICAgICAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHM9cythW2ldOwogICAgICAgICAgICAgICAgICAgIGlmKHM9PTAgJiYgKGktbCk+MCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvdXQ8PGktbDw8IiAiOwogICAgICAgICAgICAgICAgICAgICAgICAvL251bS5wdXNoX2JhY2soaS1sKTsKICAgICAgICAgICAgICAgICAgICAgICAgbD1pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0=