#include <bits/stdc++.h>
int read() {
  int ans = 0, c, f = 1;
  while (!isdigit(c = getchar()))
    if (c == '-') f *= -1;
  do ans = ans * 10 + c - '0';
  while (isdigit(c = getchar()));
  return ans * f;
}
const int N = 10050;
int n, A[N], B[N];
int m, a[N], b[N], c[N], d[N];
void por(int x1, int y1, int x2, int y2) {
  a[m] = x1;
  b[m] = y1;
  c[m] = x2;
  d[m] = y2;
  ++m;
}
int main() {
  n = read();
  for (int i = 1; i <= n; ++i) A[i] = read();
  for (int i = 1; i <= n; ++i) B[i] = read();
  for (int k = 1; k <= n; ++k) {
    int ti = 0, tj = 0;
    for (int i = k; i <= n; ++i) {
      if (A[i] == k) ti = i;
      if (B[i] == k) tj = i;
    }
    if (ti == k && tj == k)
      ;
    else if (ti == k)
      por(k, k, k, tj);
    else if (tj == k)
      por(k, k, ti, k);
    else
      por(ti, k, k, tj);
    std::swap(A[k], A[ti]);
    std::swap(B[k], B[tj]);
  }
  printf("%d\n", m);
  for (int i = 0; i < m; ++i) printf("%d %d %d %d\n", a[i], b[i], c[i], d[i]);
  return 0;
}
