#include <bits/stdc++.h>
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) {
  std::cerr << name << " : " << arg1 << "\n";
}
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
  const char* comma = strchr(names + 1, ',');
  std::cerr.write(names, comma - names) << " : " << arg1 << " | ";
  __f(comma + 1, args...);
}
std::pair<int, int> operator+(std::pair<int, int> a, std::pair<int, int> b) {
  return {a.first + b.first, a.second + b.second};
}
std::pair<long long, long long> operator+(std::pair<long long, long long> a,
                                          std::pair<long long, long long> b) {
  return {a.first + b.first, a.second + b.second};
}
std::ostream& operator<<(std::ostream& out, std::pair<int, int> a) {
  out << a.first << " " << a.second << "\n";
  return out;
}
std::ostream& operator<<(std::ostream& out, std::pair<long long, long long> a) {
  out << a.first << " " << a.second << "\n";
  return out;
}
std::istream& operator>>(std::istream& in, std::pair<int, int>& a) {
  in >> a.first >> a.second;
  return in;
}
std::istream& operator>>(std::istream& in, std::pair<long long, long long>& a) {
  in >> a.first >> a.second;
  return in;
}
int pow(int x, int y) {
  int temp;
  if (y == 0) return 1;
  temp = pow(x, y / 2);
  if (y % 2 == 0)
    return temp * temp;
  else
    return x * temp * temp;
}
using namespace std;
int main() {
  std::ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n, x, y, d, k = 0, l, i;
  cin >> n;
  string s[6 * n + 10];
  multimap<long long, pair<long long, long long>> m;
  for (i = 0; i < n; i++) {
    cin >> x >> y;
    d = abs(x) + abs(y);
    m.insert(make_pair(d, make_pair(x, y)));
  }
  for (auto itr = m.begin(); itr != m.end(); ++itr) {
    if ((itr->second).first > 0) {
      l = (itr->second).first;
      s[k] = ("1 " + to_string(l) + " R");
      k++;
    } else if ((itr->second).first < 0) {
      l = (-1) * (itr->second).first;
      s[k] = ("1 " + to_string(l) + " L");
      k++;
    }
    if ((itr->second).second > 0) {
      l = (itr->second).second;
      s[k] = ("1 " + to_string(l) + " U");
      k++;
    } else if ((itr->second).second < 0) {
      l = (-1) * (itr->second).second;
      s[k] = ("1 " + to_string(l) + " D");
      k++;
    }
    s[k].push_back('2');
    k++;
    if ((itr->second).first > 0) {
      l = (itr->second).first;
      s[k] = ("1 " + to_string(l) + " L");
      k++;
    } else if ((itr->second).first < 0) {
      l = (-1) * (itr->second).first;
      s[k] = ("1 " + to_string(l) + " R");
      k++;
    }
    if ((itr->second).second > 0) {
      l = (itr->second).second;
      s[k] = ("1 " + to_string(l) + " D");
      k++;
    } else if ((itr->second).second < 0) {
      l = (-1) * (itr->second).second;
      s[k] = ("1 " + to_string(l) + " U");
      k++;
    }
    s[k].push_back('3');
    k++;
  }
  cout << k << "\n";
  for (i = 0; i < k; i++) {
    cout << s[i] << "\n";
  }
}
