#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;
}