#include <bits/stdc++.h>
using namespace std;
int n, x, y;
vector<pair<int, int> > zeros;
vector<pair<int, int> > zeros2;
vector<pair<int, pair<int, int> > > nonzeros;
inline int abs(int a) { return ((a) > (-a) ? (a) : (-a)); }
int cnt = 0;
void zz() {
  for (int i = 0; i < (((int)(zeros).size())); ++i) {
    int xx = zeros[i].second;
    if (xx < 0) {
      printf("1 %d L\n", abs(xx));
      printf("2\n");
      printf("1 %d R\n", abs(xx));
      printf("3\n");
    } else {
      printf("1 %d R\n", abs(xx));
      printf("2\n");
      printf("1 %d L\n", abs(xx));
      printf("3\n");
    }
    cnt += 4;
  }
}
void z2() {
  for (int i = 0; i < (((int)(zeros2).size())); ++i) {
    int xx = zeros2[i].second;
    if (xx < 0) {
      printf("1 %d D\n", abs(xx));
      printf("2\n");
      printf("1 %d U\n", abs(xx));
      printf("3\n");
    } else {
      printf("1 %d U\n", abs(xx));
      printf("2\n");
      printf("1 %d D\n", abs(xx));
      printf("3\n");
    }
    cnt += 4;
  }
}
void nz() {
  for (int i = 0; i < (((int)(nonzeros).size())); ++i) {
    int xx = nonzeros[i].second.first;
    int yy = nonzeros[i].second.second;
    if (xx < 0) {
      printf("1 %d L\n", abs(xx));
      if (yy < 0) {
        printf("1 %d D\n", abs(yy));
        printf("2\n");
        printf("1 %d U\n", abs(yy));
      } else {
        printf("1 %d U\n", abs(yy));
        printf("2\n");
        printf("1 %d D\n", abs(yy));
      }
      printf("1 %d R\n", abs(xx));
      printf("3\n");
    } else {
      printf("1 %d R\n", abs(xx));
      if (yy < 0) {
        printf("1 %d D\n", abs(yy));
        printf("2\n");
        printf("1 %d U\n", abs(yy));
      } else {
        printf("1 %d U\n", abs(yy));
        printf("2\n");
        printf("1 %d D\n", abs(yy));
      }
      printf("1 %d L\n", abs(xx));
      printf("3\n");
    }
    cnt += 6;
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= (n); ++i) {
    scanf("%d %d", &x, &y);
    if (y == 0)
      zeros.push_back(pair<int, int>(abs(x), x));
    else if (x == 0)
      zeros2.push_back(pair<int, int>(abs(y), y));
    else {
      nonzeros.push_back(make_pair(abs(y), make_pair(x, y)));
    }
  }
  sort(zeros.begin(), zeros.end());
  sort(zeros2.begin(), zeros2.end());
  sort(nonzeros.begin(), nonzeros.end());
  printf("%d\n", 4 * ((int)(zeros).size()) + 4 * ((int)(zeros2).size()) +
                     6 * ((int)(nonzeros).size()));
  zz();
  z2();
  nz();
  return 0;
}
