package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
var n int
fmt.Fscan(in, &n)
r := make([]int, n+1)
c := make([]int, n+1)
posR := make([]int, n+1)
posC := make([]int, n+1)
for i := 1; i <= n; i++ {
fmt.Fscan(in, &r[i])
posR[r[i]] = i
}
for i := 1; i <= n; i++ {
fmt.Fscan(in, &c[i])
posC[c[i]] = i
}
ans := make([][4]int, 0, n)
for k := 1; k <= n; k++ {
a := posR[k]
b := posC[k]
if !(a == k && b == k) {
ans = append(ans, [4]int{k, b, a, k})
}
if a != k {
v := r[k]
r[a] = v
posR[v] = a
}
if b != k {
v := c[k]
c[b] = v
posC[v] = b
}
}
fmt.Fprintln(out, len(ans))
for _, p := range ans {
fmt.Fprintln(out, p[0], p[1], p[2], p[3])
}
}