#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
template <typename... Args>
void writeln(Args... args) {
  ((cout << args << " "), ...);
  cout << endl;
}
template <typename... Args>
void _db(Args... args) {
  ((cerr << args << " ;; "), ...);
  cout << endl;
}
int main() {
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<pair<ll, ll>> v(n);
  for (int i = 0; i < n; ++i) {
    cin >> v[i].first >> v[i].second;
  }
  sort(v.begin(), v.end(), [](const pair<ll, ll>& f, const pair<ll, ll>& s) {
    return abs(f.first) + abs(f.second) < abs(s.first) + abs(s.second);
  });
  int count = n * 2;
  for (auto [x, y] : v) {
    if (x != 0) {
      count += 2;
    }
    if (y != 0) {
      count += 2;
    }
  }
  cout << count << endl;
  for (auto [x, y] : v) {
    if (x != 0) {
      char dir = x > 0 ? 'R' : 'L';
      cout << 1 << " " << abs(x) << " " << dir << '\n';
    }
    if (y != 0) {
      char dir = y > 0 ? 'U' : 'D';
      cout << 1 << " " << abs(y) << " " << dir << '\n';
    }
    cout << 2 << '\n';
    if (x != 0) {
      char dir = x > 0 ? 'L' : 'R';
      cout << 1 << " " << abs(x) << " " << dir << '\n';
    }
    if (y != 0) {
      char dir = y > 0 ? 'D' : 'U';
      cout << 1 << " " << abs(y) << " " << dir << '\n';
    }
    cout << 3 << '\n';
  }
  flush(cout);
  return 0;
}
