#include <bits/stdc++.h>
using namespace std;
int n, m, cnt, tt;
struct node {
  int x, y, id;
  friend bool operator<(node aa, node bb) {
    if (aa.x != bb.x) return aa.x < bb.x;
    return aa.y < bb.y;
  }
} a[100005];
struct ANS {
  int x1, y1, x2, y2;
} ans[100005];
inline int read() {
  int ret = 0, ff = 1;
  char ch = getchar();
  while (!isdigit(ch)) {
    if (ch == '-') ff = -ff;
    ch = getchar();
  }
  while (isdigit(ch)) {
    ret = (ret << 3) + (ret << 1) + (ch ^ 48);
    ch = getchar();
  }
  return ret * ff;
}
inline void move(int x1, int y1, int x2, int y2) {
  while (x1 != x2) {
    int tx1 = x1;
    if (x1 < x2)
      x1++;
    else
      x1--;
    ans[++cnt].x1 = tx1;
    ans[cnt].y1 = y1;
    ans[cnt].x2 = x1;
    ans[cnt].y2 = y2;
  }
  while (y1 != y2) {
    int ty1 = y1;
    if (y1 < y2)
      y1++;
    else
      y1--;
    ans[++cnt].x1 = x1;
    ans[cnt].y1 = ty1;
    ans[cnt].x2 = x2;
    ans[cnt].y2 = y1;
  }
}
signed main() {
  n = read(), m = read();
  for (int i = 1; i <= m; i++) {
    a[i].x = read();
    a[i].y = read();
    a[i].id = i;
  }
  sort(a + 1, a + m + 1);
  for (int i = 1; i <= m; i++) {
    if (i < a[i].x) {
      move(a[i].x, a[i].y, i, a[i].y);
      a[i].x = i;
    }
  }
  for (int i = m; i >= 1; i--) {
    move(a[i].x, a[i].y, i, a[i].y);
    a[i].x = i;
  }
  for (int i = 1; i <= m; i++) {
    move(a[i].x, a[i].y, a[i].x, a[i].id);
    a[i].y = a[i].id;
  }
  for (int i = m; i >= 1; i--) {
    move(a[i].x, a[i].y, a[i].id, a[i].y);
    a[i].x = a[i].id;
  }
  tt = cnt;
  for (int i = 1; i <= m; i++) {
    a[i].x = read();
    a[i].y = read();
    a[i].id = i;
  }
  sort(a + 1, a + m + 1);
  for (int i = 1; i <= m; i++) {
    if (i < a[i].x) {
      move(a[i].x, a[i].y, i, a[i].y);
      a[i].x = i;
    }
  }
  for (int i = m; i >= 1; i--) {
    move(a[i].x, a[i].y, i, a[i].y);
    a[i].x = i;
  }
  for (int i = 1; i <= m; i++) {
    move(a[i].x, a[i].y, a[i].x, a[i].id);
    a[i].y = a[i].id;
  }
  for (int i = m; i >= 1; i--) {
    move(a[i].x, a[i].y, a[i].id, a[i].y);
    a[i].x = a[i].id;
  }
  printf("%d\n", cnt);
  for (int i = 1; i <= tt; i++)
    printf("%d %d %d %d\n", ans[i].x1, ans[i].y1, ans[i].x2, ans[i].y2);
  for (int i = cnt; i > tt; i--)
    printf("%d %d %d %d\n", ans[i].x2, ans[i].y2, ans[i].x1, ans[i].y1);
  return 0;
}
