"use strict"
const create = () => {
    const input = require("fs").readFileSync("/dev/stdin", "utf8").trim().split("\n");
    const res = {
        "list": input, "index": 0, "max": input.length,
        "hasNext": function() {return this.index < this.max},
        "next": function() { if (!this.hasNext()) {throw "ArrayIndexOutOfBoundsException";}else{return this.list[this.index++];}}
    };
    return res;
}
const o = create();
const next = () => o.next()
const nextInt = () => parseInt(o.next())
const nextStrArray = () => o.next().split(" ")
const nextIntArray = () => o.next().split(" ").map(el => parseInt(el))
const nextCharArray = () => o.next().split("")
const hasNext = () => o.hasNext()
const myout = (...x) => console.log(...x)
const Main = () => {
    const N = nextInt()
    const p = nextIntArray()
    const q = nextIntArray()
    let arr = []
    for(let i = 1; i<=N; i++){
        arr.push(i)
    }
    let pat = []
    const dfs = (sub, used)=>{
        if(sub.length === N){
            sub.join("")
            pat.push(Number(sub.join("")))
            return
        }
        for(let el of arr){
            if(used.includes(el)) continue
            used.push(el)
            dfs([...sub, el], used)
            used.pop()
        }
    }
    dfs([], [])
    pat.sort((a,b) => a-b)
    const pn = Number(p.join(""))
    const pi = pat.indexOf(pn)
    const qn = Number(q.join(""))
    const qi = pat.indexOf(qn)
    console.log(Math.abs(pi-qi))
}
Main()
