#include <bits/stdc++.h>
using namespace std;
int n, m, idx;
struct Node {
  int x, y, id;
} a[105];
struct Answer {
  int x1, y1, x2, y2;
} ans[10805];
void move(int x1, int y1, int x2, int y2) {
  while (x1 < x2) ans[++idx] = {x1, y1, x1 + 1, y1}, ++x1;
  while (x1 > x2) ans[++idx] = {x1, y1, x1 - 1, y1}, --x1;
  while (y1 < y2) ans[++idx] = {x1, y1, x1, y1 + 1}, ++y1;
  while (y1 > y2) ans[++idx] = {x1, y1, x1, y1 - 1}, --y1;
}
void solve() {
  sort(a + 1, a + m + 1, [](Node a, Node b) { return a.x < b.x; });
  for (int i = 1; i <= m; i++)
    if (a[i].x > i) move(a[i].x, a[i].y, i, a[i].y), a[i].x = i;
  for (int i = m; i > 0; --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 = 1; i <= m; i++)
    move(a[i].x, a[i].y, a[i].id, a[i].y), a[i].x = a[i].id;
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m;
  for (int i = 1; i <= m; i++) cin >> a[i].x >> a[i].y, a[i].id = i;
  solve();
  int tmp = idx;
  for (int i = 1; i <= m; i++) cin >> a[i].x >> a[i].y, a[i].id = i;
  solve();
  printf("%d\n", idx);
  for (int i = 1; i <= tmp; i++)
    printf("%d %d %d %d\n", ans[i].x1, ans[i].y1, ans[i].x2, ans[i].y2);
  for (int i = idx; i > tmp; --i)
    printf("%d %d %d %d\n", ans[i].x2, ans[i].y2, ans[i].x1, ans[i].y1);
  return 0;
}
