#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int k;
    while(cin >> k){
        if(k == 0) break;
        vector<int> vec(k + 1, 0);
        int max_pos = 0, max_num = k;
        for(int i = 1; i <= k; i++) cin >> vec[i];
        vector<int> mission;
        int num_m = 0;
        while(max_num >= 1){
            if(vec[max_num] == max_num) max_num--;
            else{
                for(int i = 1; i < max_num; i++){
                    if(vec[i] == max_num) max_pos = i;
                }
                if(max_pos != 1){
                    reverse(vec.begin() + 1, vec.begin() + max_pos + 1);
                    mission.push_back(max_pos);
                    num_m++;
                }
                reverse(vec.begin() + 1, vec.begin() + max_num + 1);
                mission.push_back(max_num);
                num_m++;
            }
        }
        cout << num_m << " ";
        for(int x : mission) cout << x << " ";
        cout << "\n";
    }
    return 0;
}