#include <bits/stdc++.h>
using namespace std;
const int N = 57;
const int MX = 1e9 + 7;
const long long int INF = 1e18 + 9LL;
int n, m;
int place[N];
pair<pair<int, int>, int> s[N];
pair<pair<int, int>, int> e[N];
vector<pair<pair<int, int>, pair<int, int> > > res;
void go(int idx, int dx, int dy) {
  res.push_back(
      {s[idx].first, {s[idx].first.first + dx, s[idx].first.second + dy}});
  s[idx].first.first += dx, s[idx].first.second += dy;
}
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 1; i <= m; ++i) {
    scanf("%d %d", &s[i].first.first, &s[i].first.second);
    s[i].second = i;
  }
  for (int i = 1; i <= m; ++i) {
    scanf("%d %d", &e[i].first.first, &e[i].first.second);
    e[i].second = i;
  }
  sort(s + 1, s + m + 1);
  for (int i = 1; i <= m; ++i)
    while (s[i].first.first > i) go(i, -1, 0);
  for (int i = m; i >= 1; --i)
    while (s[i].first.first < i) go(i, 1, 0);
  for (int i = 1; i <= m; ++i) {
    place[s[i].second] = i;
    assert(s[i].first.first == i);
  }
  sort(e + 1, e + m + 1,
       [](pair<pair<int, int>, int> a, pair<pair<int, int>, int> b) {
         return a.first.second < b.first.second;
       });
  for (int i = 1; i <= m; ++i) {
    int idx = place[e[i].second];
    while (s[idx].first.second < i) go(idx, 0, 1);
    while (i < s[idx].first.second) go(idx, 0, -1);
    assert(s[idx].first.second == i);
  }
  for (int i = 1; i <= m; ++i) {
    int idx = place[e[i].second];
    while (s[idx].first.first < e[i].first.first) go(idx, 1, 0);
    while (e[i].first.first < s[idx].first.first) go(idx, -1, 0);
  }
  for (int i = 1; i <= m; ++i) {
    int idx = place[e[i].second];
    while (e[i].first.second < s[idx].first.second) go(idx, 0, -1);
  }
  for (int i = m; i >= 1; --i) {
    int idx = place[e[i].second];
    while (s[idx].first.second < e[i].first.second) go(idx, 0, 1);
  }
  printf("%d\n", res.size());
  for (auto v : res)
    printf("%d %d %d %d\n", v.first.first, v.first.second, v.second.first,
           v.second.second);
  return 0;
}
