#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=