#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define For(i,n,k) for(int i=(n);i<(k);i++)
#define ALL(a)  (a).begin(),(a).end()
ll ans = 0;
void Main(){
    int n;
    cin >> n;
    vector<int> p(n+1), place(n+1, 0), v;
    vector<bool> used(n, false);
    For(i,0,n) {
        cin >> p[i+1];
        place[p[i+1]] = i+1;
    }
    For(i,1,n+1){
        while(place[i] > i){
            int r = i;
            int l = p[place[i] - 1];
            swap(p[place[i]], p[place[i] - 1]);
            swap(place[r], place[l]);
            v.push_back(place[i]);
            if(used[place[i]]){
                cout << -1 << endl;
                return;
            }
            used[place[i]] = true;
            /*cout << v.back() << endl;
            for(auto i:p) cout << i << " ";
            cout << endl;*/
        }
    }
    if(v.size() != n-1) cout << -1 << endl;
    else for(auto i:v) cout << i << endl;
}
int main(){
    Main();
    /*
    東方風神録は神が出てくるので当然神ゲー
    */
    return 0;
}
#include <bits/stdc++.h>
using namespace std;
#define ll unsigned long long int
#define pb push_back
#define mp make_pair
unordered_map<ll,int> um;
 
ll binpow(ll a, ll n){
    if(n==0) return 1;
    ll res = binpow(a, n/2);
    if(n%2 != 0) return res*res*a;
    else return res*res;
}
void solve(){
    ll n; cin>>n;
    for(int i=1;i<64;i++){
        ll x = binpow(5, i);
        if(x>=n){
            cout<<"-1"; return;
        }
        for(int j=1;j<64;j++){
            ll y = binpow(3, j);
            // if(y>=n){
            //     cout<<"-1"; return;
            // }
            if(x+y == n){
                cout<<j<<" "<<i;
                return;
            }
            if(x+y >= n) break;
        }
        // ll z = binpow(3, i);
        // if(z > n) break;
        // // if(z < n){
        //     ll x = n - z;
        //     // cout<<x<<" ";
        //     if(um.find(x)!=um.end()){
        //         cout<<i<<" "<<um[x]<<endl;
        //         return;
        //     }
        // }
    }
    cout<<"-1\n";
}
int main(){
    
    // for(int i=1;i<64;i++){
    //     ll z = binpow(5, i);
    //     um.insert({z, i});
    // }
    // while(t--){
        solve();
    // }
}
