#include <bits/stdc++.h>
using namespace std;
int chh;
const int N = 1e5 + 5;
int n;
vector<pair<int, int> > px0, px1, py0, py1, p0, p1, p2, p3;
int main() {
  int x, y, ans;
  scanf("%d", &n);
  for (int i = 0; i < (n); i++) {
    scanf("%d %d", &x, &y);
    if (x == 0) {
      if (y > 0)
        px0.push_back(make_pair(x, y));
      else
        px1.push_back(make_pair(x, -y));
    } else if (y == 0) {
      if (x > 0)
        py0.push_back(make_pair(x, y));
      else
        py1.push_back(make_pair(-x, y));
    } else if (x > 0 && y > 0)
      p0.push_back(make_pair(x, y));
    else if (x < 0 && y > 0)
      p1.push_back(make_pair(-x, y));
    else if (x < 0 && y < 0)
      p2.push_back(make_pair(-x, -y));
    else
      p3.push_back(make_pair(x, -y));
  }
  ans = 4 * ((px0).size() + (px1).size() + (py0).size() + (py1).size());
  ans += 6 * ((p0).size() + (p1).size() + (p2).size() + (p3).size());
  printf("%d\n", ans);
  sort((px0).begin(), (px0).end());
  for (int i = 0; i < ((px0).size()); i++) {
    printf("1 %d U\n", px0[i].second);
    puts("2");
    printf("1 %d D\n", px0[i].second);
    puts("3");
  }
  sort((px1).begin(), (px1).end());
  for (int i = 0; i < ((px1).size()); i++) {
    printf("1 %d D\n", px1[i].second);
    puts("2");
    printf("1 %d U\n", px1[i].second);
    puts("3");
  }
  sort((py0).begin(), (py0).end());
  for (int i = 0; i < ((py0).size()); i++) {
    printf("1 %d R\n", py0[i].first);
    puts("2");
    printf("1 %d L\n", py0[i].first);
    puts("3");
  }
  sort((py1).begin(), (py1).end());
  for (int i = 0; i < ((py1).size()); i++) {
    printf("1 %d L\n", py1[i].first);
    puts("2");
    printf("1 %d R\n", py1[i].first);
    puts("3");
  }
  sort((p0).begin(), (p0).end());
  for (int i = 0; i < ((p0).size()); i++) {
    printf("1 %d R\n", p0[i].first);
    printf("1 %d U\n", p0[i].second);
    puts("2");
    printf("1 %d D\n", p0[i].second);
    printf("1 %d L\n", p0[i].first);
    puts("3");
  }
  sort((p1).begin(), (p1).end());
  for (int i = 0; i < ((p1).size()); i++) {
    printf("1 %d L\n", p1[i].first);
    printf("1 %d U\n", p1[i].second);
    puts("2");
    printf("1 %d D\n", p1[i].second);
    printf("1 %d R\n", p1[i].first);
    puts("3");
  }
  sort((p2).begin(), (p2).end());
  for (int i = 0; i < ((p2).size()); i++) {
    printf("1 %d L\n", p2[i].first);
    printf("1 %d D\n", p2[i].second);
    puts("2");
    printf("1 %d U\n", p2[i].second);
    printf("1 %d R\n", p2[i].first);
    puts("3");
  }
  sort((p3).begin(), (p3).end());
  for (int i = 0; i < ((p3).size()); i++) {
    printf("1 %d R\n", p3[i].first);
    printf("1 %d D\n", p3[i].second);
    puts("2");
    printf("1 %d U\n", p3[i].second);
    printf("1 %d L\n", p3[i].first);
    puts("3");
  }
  return 0;
}
