#include <bits/stdc++.h>
using namespace std;
const int N = 111111;
const int INF = 1000000000, mod = 1000000007;
const long long LLINF = 1000000000000000000ll;
struct firstQuarter {
  int x, y;
  bool operator<(const firstQuarter& a) const {
    return y < a.y || (y == a.y && x < a.x);
  }
};
struct secondQuarter {
  int x, y;
  bool operator<(const secondQuarter& a) const {
    return y < a.y || (y == a.y && x > a.x);
  }
};
struct thirdQuarter {
  int x, y;
  bool operator<(const thirdQuarter& a) const {
    return y > a.y || (y == a.y && x > a.x);
  }
};
struct fourthQuarter {
  int x, y;
  bool operator<(const fourthQuarter& a) const {
    return y > a.y || (y == a.y && x < a.x);
  }
};
vector<firstQuarter> fst;
vector<secondQuarter> snd;
vector<thirdQuarter> trd;
vector<fourthQuarter> fth;
void add(int x, int y) {
  if (x >= 0 && y >= 0)
    fst.push_back({x, y});
  else if (x < 0 && y >= 0)
    snd.push_back({x, y});
  else if (x <= 0 && y < 0)
    trd.push_back({x, y});
  else if (x > 0 && y < 0)
    fth.push_back({x, y});
}
void Print(int x, int y) {
  if (y > 0) printf("1 %d U\n", y);
  if (y < 0) printf("1 %d D\n", -y);
  if (x > 0) printf("1 %d R\n", x);
  if (x < 0) printf("1 %d L\n", -x);
  printf("2\n");
  x = -x;
  y = -y;
  if (x > 0) printf("1 %d R\n", x);
  if (x < 0) printf("1 %d L\n", -x);
  if (y > 0) printf("1 %d U\n", y);
  if (y < 0) printf("1 %d D\n", -y);
  printf("3\n");
}
int main() {
  int n;
  scanf("%d", &n);
  int cmd = 0;
  while (n-- > 0) {
    int x, y;
    scanf("%d%d", &x, &y);
    add(x, y);
    cmd += ((!x || !y) ? 4 : 6);
  }
  printf("%d\n", cmd);
  sort(fst.begin(), fst.end());
  for (size_t i = 0; i < fst.size(); ++i) {
    Print(fst[i].x, fst[i].y);
  }
  sort(snd.begin(), snd.end());
  for (size_t i = 0; i < snd.size(); ++i) {
    Print(snd[i].x, snd[i].y);
  }
  sort(trd.begin(), trd.end());
  for (size_t i = 0; i < trd.size(); ++i) {
    Print(trd[i].x, trd[i].y);
  }
  sort(fth.begin(), fth.end());
  for (size_t i = 0; i < fth.size(); ++i) {
    Print(fth[i].x, fth[i].y);
  }
  return 0;
}
