#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:64000000")
using namespace std;
int bes, n, co, ma, mod;
string st;
long long ot;
pair<int, pair<int, int> > cor[100000];
vector<pair<pair<int, int>, char> > o;
void per(int x, int y) {
  pair<pair<int, int>, char> t;
  if (x > 0) {
    t.first.first = 1;
    t.first.second = x;
    t.second = 'R';
    o.push_back(t);
    if (y > 0) {
      t.first.second = y;
      t.second = 'U';
      o.push_back(t);
      t.first.first = 2;
      o.push_back(t);
      t.first.first = 1;
      t.second = 'D';
      o.push_back(t);
    }
    if (y < 0) {
      t.first.second = -y;
      t.second = 'D';
      o.push_back(t);
      t.first.first = 2;
      o.push_back(t);
      t.first.first = 1;
      t.second = 'U';
      o.push_back(t);
    }
    if (y == 0) {
      t.first.first = 2;
      o.push_back(t);
    }
    t.first.first = 1;
    t.first.second = x;
    t.second = 'L';
    o.push_back(t);
  }
  if (x < 0) {
    t.first.first = 1;
    t.first.second = -x;
    t.second = 'L';
    o.push_back(t);
    if (y > 0) {
      t.first.second = y;
      t.second = 'U';
      o.push_back(t);
      t.first.first = 2;
      o.push_back(t);
      t.first.first = 1;
      t.second = 'D';
      o.push_back(t);
    }
    if (y < 0) {
      t.first.second = -y;
      t.second = 'D';
      o.push_back(t);
      t.first.first = 2;
      o.push_back(t);
      t.first.first = 1;
      t.second = 'U';
      o.push_back(t);
    }
    if (y == 0) {
      t.first.first = 2;
      o.push_back(t);
    }
    t.first.first = 1;
    t.first.second = -x;
    t.second = 'R';
    o.push_back(t);
  }
  if (x == 0) {
    t.first.first = 1;
    if (y > 0) {
      t.first.second = y;
      t.second = 'U';
      o.push_back(t);
      t.first.first = 2;
      o.push_back(t);
      t.first.first = 1;
      t.second = 'D';
      o.push_back(t);
    }
    if (y < 0) {
      t.first.second = -y;
      t.second = 'D';
      o.push_back(t);
      t.first.first = 2;
      o.push_back(t);
      t.first.first = 1;
      t.second = 'U';
      o.push_back(t);
    }
  }
  t.first.first = 3;
  o.push_back(t);
}
int iy = 0, ix1 = 0, ix2 = 0, cx, cy;
int dl, dr;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    scanf("%d%d", &cor[i].second.first, &cor[i].second.second);
    cor[i].first = abs(cor[i].second.second) + abs(cor[i].second.first);
  }
  sort(cor, cor + n);
  for (int i = 0; i < n; ++i) per(cor[i].second.first, cor[i].second.second);
  printf("%d\n", o.size());
  for (int i = 0; i < (int)o.size(); ++i) {
    if (o[i].first.first != 1) {
      printf("%d\n", o[i].first.first);
      continue;
    }
    printf("%d %d %c\n", o[i].first.first, o[i].first.second, o[i].second);
  }
}
