#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
int n;
std::cin >> n;
std::vector<int>sizes;
std::vector<int> a;
int count = 0;
for(int i=0; i<n; i ++)
{
int x;
std::cin >> x;
a.push_back(x);
if(a[i] == 1){
count ++;
}
}
std::cout << count << "\n";
std::reverse(a.begin(), a.end());
for(int i=0; i<a.size(); i ++)
{
if(a[i] == 1)
{
sizes.push_back(a.size());
a.erase(a.begin(), a.end());
}
}
for(int i=0; i<sizes.size(); i ++)
{
std::cout << sizes[i] << " ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKaW50IG1haW4oKQp7CiAgICBpbnQgbjsKICAgIHN0ZDo6Y2luID4+IG47CiAgICAKICAgIHN0ZDo6dmVjdG9yPGludD5zaXplczsKICAgIAogICAgc3RkOjp2ZWN0b3I8aW50PiBhOwogICAgaW50IGNvdW50ID0gMDsKICAgIGZvcihpbnQgaT0wOyBpPG47IGkgKyspCiAgICB7CiAgICAgICAgaW50IHg7CiAgICAgICAgc3RkOjpjaW4gPj4geDsKICAgICAgICBhLnB1c2hfYmFjayh4KTsKICAgICAgICAKICAgICAgICBpZihhW2ldID09IDEpewogICAgICAgICAgICBjb3VudCArKzsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHN0ZDo6Y291dCA8PCBjb3VudCA8PCAiXG4iOwogICAgCiAgICBzdGQ6OnJldmVyc2UoYS5iZWdpbigpLCBhLmVuZCgpKTsKICAgIAogICAgZm9yKGludCBpPTA7IGk8YS5zaXplKCk7IGkgKyspCiAgICB7CiAgICAgICAgaWYoYVtpXSA9PSAxKQogICAgICAgIHsKICAgICAgICAgICAgc2l6ZXMucHVzaF9iYWNrKGEuc2l6ZSgpKTsKICAgICAgICAgICAgYS5lcmFzZShhLmJlZ2luKCksIGEuZW5kKCkpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgZm9yKGludCBpPTA7IGk8c2l6ZXMuc2l6ZSgpOyBpICsrKQogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCBzaXplc1tpXSA8PCAiICI7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=