#include <bits/stdc++.h>
using namespace std;
const long long maxn = 5e1 + 7;
const long long maxx = 1e5 + 7;
const long long mod = 1e9 + 7;
const long long INF = 1e9 + 7;
const long long mlog = 20;
const long long SQ = 400;
struct Ball {
  long long x, y, id;
};
long long n, m;
long long k[2];
long long cnt[maxn], f[maxn][maxn], ans[2][maxx][4];
Ball a[maxn];
bool cmp(Ball A, Ball B) { return A.x < B.x; }
void move(long long i, long long j, long long dx, long long dy) {
  if (f[a[i].x + dx][a[i].y + dy]) move(f[a[i].x + dx][a[i].y + dy], j, dx, dy);
  k[j]++;
  ans[j][k[j]][0 + j * 2] = a[i].x;
  ans[j][k[j]][1 + j * 2] = a[i].y;
  ans[j][k[j]][2 - j * 2] = a[i].x + dx;
  ans[j][k[j]][3 - j * 2] = a[i].y + dy;
  swap(f[a[i].x][a[i].y], f[a[i].x + dx][a[i].y + dy]);
  a[i].x += dx;
  a[i].y += dy;
}
int32_t main() {
  ios_base::sync_with_stdio(false), cin.tie(), cout.tie();
  ;
  cin >> n >> m;
  for (long long j = 0; j < 2; j++) {
    for (long long i = 1; i <= m; i++) {
      cin >> a[i].x >> a[i].y;
      a[i].id = i;
    }
    sort(a + 1, a + m + 1, cmp);
    memset(f, 0, sizeof(f));
    for (long long i = 1; i <= m; i++) f[a[i].x][a[i].y] = i;
    for (long long i = 1; i <= m; i++) {
      while (a[i].x < i) move(i, j, 1, 0);
      while (a[i].x > i) move(i, j, -1, 0);
    }
    for (long long i = 1; i <= m; i++) {
      while (a[i].y < a[i].id) move(i, j, 0, 1);
      while (a[i].y > a[i].id) move(i, j, 0, -1);
    }
    for (long long i = 1; i <= m; i++) {
      while (a[i].x < a[i].id) move(i, j, 1, 0);
      while (a[i].x > a[i].id) move(i, j, -1, 0);
    }
  }
  cout << k[0] + k[1] << "\n";
  for (long long i = 1; i <= k[0]; i++) {
    for (long long j = 0; j < 4; j++) cout << ans[0][i][j] << " ";
    cout << "\n";
  }
  for (long long i = k[1]; i >= 1; i--) {
    for (long long j = 0; j < 4; j++) cout << ans[1][i][j] << " ";
    cout << "\n";
  }
  return 0;
}
