import itertools



n = int(eval(input()))

p = tuple(map(int,input().split()))

q = tuple(map(int,input().split()))

# 多分1~4で3!の順列になる

ls = list(itertools.permutations(list(range(1,n+1)))) #順列生成

# 絶対値absで辞書順のpからqをひく

print((abs(ls.index(p)-ls.index(q))))
N = int(eval(input()))

P = list(map(int, input().split()))

Q = list(map(int, input().split()))

fac = [0] * 8

# 1番目の桁

fac[1] = 1

for i in range(2, N):

    # 最上位の桁が7の場合7!の6周目終わりが30240番目が先頭になる。

    fac[i] = i * fac[i - 1]



a = 0

l = list(range(1, N + 1))

# l=3の時fac[2] 2!の2周目終わった時点え次のスタートが5になる

# 5の1番目のルートとなる

for i in range(N):

    a += l.index(P[i]) * fac[len(l) - 1]

    l.remove(P[i])



b = 0

l = list(range(1, N + 1))

for i in range(N):

    b += l.index(Q[i]) * fac[len(l) - 1]

    l.remove(Q[i])



print((abs(a - b)))
import itertools

n = int(eval(input()))
p = tuple(map(int, input().split()))
q = tuple(map(int, input().split()))
# 多分1~4で3!の順列になる
ls = list(itertools.permutations(list(range(1, n + 1))))  # 順列生成
# 絶対値absで辞書順のpからqをひく
print((abs(ls.index(p) - ls.index(q))))

N = int(eval(input()))
P = list(map(int, input().split()))
Q = list(map(int, input().split()))
fac = [0] * 8
# 1番目の桁
fac[1] = 1
for i in range(2, N):
    # 最上位の桁が7の場合7!の6周目終わりが30240番目が先頭になる。
    fac[i] = i * fac[i - 1]
a = 0
l = list(range(1, N + 1))
# l=3の時fac[2] 2!の2周目終わった時点え次のスタートが5になる
# 5の1番目のルートとなる
for i in range(N):
    a += l.index(P[i]) * fac[len(l) - 1]
    l.remove(P[i])
b = 0
l = list(range(1, N + 1))
for i in range(N):
    b += l.index(Q[i]) * fac[len(l) - 1]
    l.remove(Q[i])
print((abs(a - b)))

-import itertools - -n = int(eval(input())) -p = tuple(map(int, input().split())) -q = tuple(map(int, input().split())) -# 多分1~4で3!の順列になる -ls = list(itertools.permutations(list(range(1, n + 1))))  # 順列生成 -# 絶対値absで辞書順のpからqをひく -print((abs(ls.index(p) - ls.index(q)))) +N = int(eval(input())) +P = list(map(int, input().split())) +Q = list(map(int, input().split())) +fac = [0] * 8 +# 1番目の桁 +fac[1] = 1 +for i in range(2, N): +    # 最上位の桁が7の場合7!の6周目終わりが30240番目が先頭になる。 +    fac[i] = i * fac[i - 1] +a = 0 +l = list(range(1, N + 1)) +# l=3の時fac[2] 2!の2周目終わった時点え次のスタートが5になる +# 5の1番目のルートとなる +for i in range(N): +    a += l.index(P[i]) * fac[len(l) - 1] +    l.remove(P[i]) +b = 0 +l = list(range(1, N + 1)) +for i in range(N): +    b += l.index(Q[i]) * fac[len(l) - 1] +    l.remove(Q[i]) +print((abs(a - b)))