Problem D: 吃糖果(eat)

Problem D: 吃糖果(eat)

Time Limit: 10.000 Sec  Memory Limit: 256 MB
Submit: 16  Solved: 7
[Submit] [Status] [Web Board] [Creator:]

Description

儿童节有N个儿童排成一队领糖果。1号儿童站在队伍的最前方,N号儿童站在队伍的最后方。

现在有N种糖果,编号为1到N

队伍中的每个儿童都有自己想要的糖果,但是发糖果的人也事先准备好了发放的糖果顺序。

显然可以预料到的是:会有一些儿童能够拿到自己想要的糖果,也会有一些儿童无法拿到自己想要的糖果。

现在你可以选择一次反转操作:反转在队伍中指定区域[l,r]的儿童,让他们的位置发生反转。

现在请你编写一个程序:统计使用一次反转操作,使得恰好有c个儿童能够获得自己想要的糖果时的不同反转操作方案数量。

注:两种操作[l1,r1]和不同[l2,r2],如果l1 != l2或者r1 != r2


Input

第一行输入一个N

第二行输入N个数,a[i]表示第个i儿童想要的糖果类型。

第三行输入N个数,b[i]表示发放的糖果顺序。


Output

输出N+1行,第i行表示使得恰好有i-1个儿童获得自己想要的糖果的不同操作的方案数。

Sample Input

3
1 3 2
3 2 1

Sample Output

3
3
0
0

HINT

【数据范围】

40%的数据保证N<=100

100%的数据保证N<=7500,1<=a[i],b[i]<=N


[Submit][Status]