#include <bits/stdc++.h>
using namespace std;
const int NMax = 101000;
int N;
vector<pair<int, int> > A, B, C, D;
bool cmp1(pair<int, int> a, pair<int, int> b) {
  if (a.first < b.first) return 1;
  if (a.first > b.first) return 0;
  if (a.second < b.second) return 1;
  return 0;
}
bool cmp2(pair<int, int> a, pair<int, int> b) {
  if (a.first < b.first) return 1;
  if (a.first > b.first) return 0;
  if (a.second > b.second) return 1;
  return 0;
}
bool cmp3(pair<int, int> a, pair<int, int> b) {
  if (a.first > b.first) return 1;
  if (a.first < b.first) return 0;
  if (a.second > b.second) return 1;
  return 0;
}
bool cmp4(pair<int, int> a, pair<int, int> b) {
  if (a.first > b.first) return 1;
  if (a.first < b.first) return 0;
  if (a.second < b.second) return 1;
  return 0;
}
int main() {
  scanf("%d", &N);
  for (int i = 1; i <= N; i++) {
    int first, second;
    scanf("%d%d", &first, &second);
    if (first >= 0 && second >= 0)
      A.push_back(make_pair(first, second));
    else if (first >= 0 && second <= 0)
      B.push_back(make_pair(first, second));
    else if (first <= 0 && second <= 0)
      C.push_back(make_pair(first, second));
    else
      D.push_back(make_pair(first, second));
  }
  int ret = 0;
  for (int i = 0; i < A.size(); i++) {
    if (A[i].first) ret += 2;
    if (A[i].second) ret += 2;
    ret += 2;
  }
  for (int i = 0; i < B.size(); i++) {
    if (B[i].first) ret += 2;
    if (B[i].second) ret += 2;
    ret += 2;
  }
  for (int i = 0; i < C.size(); i++) {
    if (C[i].first) ret += 2;
    if (C[i].second) ret += 2;
    ret += 2;
  }
  for (int i = 0; i < D.size(); i++) {
    if (D[i].first) ret += 2;
    if (D[i].second) ret += 2;
    ret += 2;
  }
  printf("%d\n", ret);
  sort(A.begin(), A.end(), cmp1);
  for (int i = 0; i < A.size(); i++) {
    if (A[i].first) printf("1 %d R\n", A[i].first);
    if (A[i].second) printf("1 %d U\n", A[i].second);
    printf("2\n");
    if (A[i].second) printf("1 %d D\n", A[i].second);
    if (A[i].first) printf("1 %d L\n", A[i].first);
    printf("3\n");
  }
  sort(B.begin(), B.end(), cmp2);
  for (int i = 0; i < B.size(); i++) {
    if (B[i].first) printf("1 %d R\n", B[i].first);
    if (B[i].second) printf("1 %d D\n", -B[i].second);
    printf("2\n");
    if (B[i].second) printf("1 %d U\n", -B[i].second);
    if (B[i].first) printf("1 %d L\n", B[i].first);
    printf("3\n");
  }
  sort(C.begin(), C.end(), cmp3);
  for (int i = 0; i < C.size(); i++) {
    if (C[i].first) printf("1 %d L\n", -C[i].first);
    if (C[i].second) printf("1 %d D\n", -C[i].second);
    printf("2\n");
    if (C[i].second) printf("1 %d U\n", -C[i].second);
    if (C[i].first) printf("1 %d R\n", -C[i].first);
    printf("3\n");
  }
  sort(D.begin(), D.end(), cmp4);
  for (int i = 0; i < D.size(); i++) {
    if (D[i].first) printf("1 %d L\n", -D[i].first);
    if (D[i].second) printf("1 %d U\n", D[i].second);
    printf("2\n");
    if (D[i].second) printf("1 %d D\n", D[i].second);
    if (D[i].first) printf("1 %d R\n", -D[i].first);
    printf("3\n");
  }
  return 0;
}
