#include <bits/stdc++.h>
using namespace std;
const int MAXN = 55;
const int MAXB = 2e7;
char buf[MAXB], *op = buf;
int n, m;
int sx[MAXN], sy[MAXN], tx[MAXN], ty[MAXN];
int mp[MAXN][MAXN];
int ans;
struct P {
  int x, y, tx, ty;
  inline void move(int dx, int dy) {
    mp[x][y] = 0;
    ans++;
    op += sprintf(op, "%d %d %d %d\n", x, y, x + dx, y + dy);
    x += dx, y += dy;
    mp[x][y] = 1;
  }
  void up() {
    if (x > 1) {
      while (mp[1][y]) move(0, 1);
      while (x > 1) move(-1, 0);
    }
    while (y > 1 && !mp[1][y - 1]) move(0, -1);
  }
  void up2() {
    move(-1, 0);
    while (mp[1][y]) move(0, 1);
    while (y > 1 && !mp[1][y - 1]) move(0, -1);
    move(-1, 0);
  }
  void down() {
    while (x < tx) move(1, 0);
  }
  void lr() {
    if (y < ty) {
      if (!mp[x][y + 1]) move(0, 1);
    } else if (y > ty) {
      if (!mp[x][y - 1]) move(0, -1);
    }
  }
  void rot() {
    if (x == tx && y == ty) return;
    if (x == 1 && y == 1 && !mp[2][1]) {
      move(1, 0);
    } else if (x == 2 && y == 1 && !mp[2][2]) {
      move(0, 1);
    } else if (x == 2 && y == 2 && !mp[1][2]) {
      move(-1, 0);
    } else if (x == 1 && y == 2 && !mp[1][1]) {
      move(0, -1);
    }
  }
} p[MAXN];
int cmp1(const P &a, const P &b) {
  return a.x == b.x ? (a.x == 1) ^ (a.y > b.y) : a.x < b.x;
}
int cmp2(const P &a, const P &b) { return a.ty < b.ty; }
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i < m; ++i) {
    scanf("%d%d", &p[i].x, &p[i].y);
    mp[p[i].x][p[i].y] = 1;
  }
  for (int i = 0; i < m; ++i) {
    scanf("%d%d", &p[i].tx, &p[i].ty);
  }
  if (n == 1) {
    puts("0");
    return 0;
  } else if (n == 2) {
    for (int t = 0; t < 100; ++t) {
      for (int i = 0; i < m; ++i) {
        p[i].rot();
      }
    }
    printf("%d\n", ans);
    printf("%s", buf);
    return 0;
  }
  sort(p, p + m, cmp1);
  for (int i = 0; i < m; ++i) p[i].up();
  for (int i = 0; i < m; ++i) {
    p[i].move(1, 0);
    p[i].move(1, 0);
  }
  sort(p, p + m, cmp2);
  for (int i = 0; i < m; ++i) {
    p[i].up2();
  }
  for (int i = 0; i < m; ++i) {
    p[i].down();
  }
  for (int t = 0; t < 2500; ++t) {
    for (int i = 0; i < m; ++i) {
      p[i].lr();
    }
  }
  printf("%d\n", ans);
  printf("%s", buf);
}
