#include<stdio.h>

void reverse(int pole[], int n)
{
	int i = 0;
	int t;
	for (; i < n / 2; i++)
	{
		t = pole[i];
		pole[i] = pole[n-1-i];
		pole[n-1-i] = t;
	}
}

int getact(int pole[], int n)
{
	int i  = 0;
	for (; i <= n; i++)
		if (pole[i] == n)
			return i;
	return -1;
}

int main()
{
	int days;
	
	scanf("%d", &days);
	while(days)
	{
		int vstup[days], vystup[days];
		int i = 0;
		for (; i < days; i++)
			scanf("%d", &vstup[i]);
		for (i = 0; i < days; i++)
			scanf("%d", &vystup[i]);
		int index[days];
		int j;
		for (i = 0; i < days; i++)
			for (j = 0; j < days; j++)
				if (vstup[i]==vystup[j])
					index[i] = j;
		int act = days-1;
		int ga;
		int sw = 0;
		while(act>1)
		{
			if (index[act] != act)
			{
				if ((ga=getact(index, act)) != 0)
				{
					
					reverse(index, ga);
					if (sw)
						printf(" ");
					printf("%d", ga);
					sw++;
				}
				if (sw)
					printf(" ");
				printf("%d", act+1);
				sw++;
				reverse(index, act+1);
			}
			act--;
		}
		
		scanf("%d", &days);
		if (days)
			printf("\n");
	}
	return 0;
}
