/*
TASK: reverse
LANG: C++
*/
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <vector>

#define mp make_pair
#define pb push_back

using namespace std;

typedef pair<int, int> PII;

int n;
int a[100100];
int b[100100];
vector< PII > v;

int main()
{
    scanf("%d",&n);
    for(int i = 0; i < n; i ++)
        scanf("%d",&a[i]);
    for(int i = 0; i < n; i ++)
        scanf("%d",&b[i]);

    printf("\n");
    for(int i = 0; i < n; i ++)
        if(a[i] != b[i])
        {
            int ind;
            for(int j = i + 1; j < n; j ++)
                if(a[j] == b[i])
                {
                    ind = j;
                    break;
                }
            v.pb(mp(i + 1, ind + 1));
            reverse(a + i, a + ind + 1);

            /*for(int j = 0; j < n; j ++)
                printf("%d ",a[j]);
            printf("\n");*/
        }

    printf("%d\n",v.size());
    for(int i = 0; i < v.size(); i ++)
        printf("%d %d\n",v[i].first,v[i].second);

    return 0;
}
