#include <bits/stdc++.h>
using namespace std;
bool cmp(pair<int, int> A, pair<int, int> B) {
  return abs(A.first) + abs(A.second) < abs(B.first) + abs(B.second);
}
int main() {
  int n;
  cin >> n;
  int a, b;
  vector<pair<int, int> > pls;
  vector<pair<int, int> > mns;
  for (int i = 0; i < n; i++) {
    cin >> a >> b;
    pls.push_back(make_pair(a, b));
  }
  sort(pls.begin(), pls.end(), cmp);
  int cc = 0, sz = pls.size(), d;
  vector<pair<int, pair<int, char> > > vv;
  for (int i = 0; i < sz; i++) {
    a = abs(pls[i].first);
    d = (pls[i].first);
    if (a != 0) {
      cc++;
      if (d > 0) {
        vv.push_back(make_pair(1, make_pair(a, 'R')));
      } else {
        vv.push_back(make_pair(1, make_pair(a, 'L')));
      }
    }
    b = abs(pls[i].second);
    int f = (pls[i].second);
    if (b != 0) {
      cc++;
      if (f < 0) {
        vv.push_back(make_pair(1, make_pair(b, 'D')));
      } else {
        vv.push_back(make_pair(1, make_pair(b, 'U')));
      }
    }
    vv.push_back(make_pair(2, make_pair(0, 'a')));
    if (b != 0) {
      cc++;
      if (f < 0) {
        vv.push_back(make_pair(1, make_pair(b, 'U')));
      } else {
        vv.push_back(make_pair(1, make_pair(b, 'D')));
      }
    }
    if (a != 0) {
      if (d > 0) {
        vv.push_back(make_pair(1, make_pair(a, 'L')));
      } else {
        vv.push_back(make_pair(1, make_pair(a, 'R')));
      }
    }
    vv.push_back(make_pair(3, make_pair(0, 'a')));
  }
  cout << vv.size() << endl;
  sz = vv.size();
  for (int i = 0; i < sz; i++) {
    if (vv[i].first == 1) {
      printf("%d %d %c\n", vv[i].first, vv[i].second.first,
             vv[i].second.second);
    } else {
      printf("%d\n", vv[i].first);
    }
  }
  return 0;
}
