#include <bits/stdc++.h>
using namespace std;
bool compare(pair<long long int, long long int> a,
             pair<long long int, long long int> b) {
  return (abs(a.first) + abs(a.second)) < (abs(b.first) + abs(b.second));
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  vector<pair<long long int, long long int>> bombs;
  long long int n;
  cin >> n;
  for (long long int i = 0; i < n; i++) {
    long long int x, y;
    cin >> x >> y;
    bombs.push_back(make_pair(x, y));
  }
  sort(bombs.begin(), bombs.end(), compare);
  vector<pair<long long int, pair<long long int, char>>> ans;
  for (long long int i = 0; i < n; i++) {
    long long int x = bombs[i].first;
    long long int y = bombs[i].second;
    vector<pair<long long int, pair<long long int, char>>> return_ans;
    if (x > 0) {
      ans.push_back(make_pair(1, make_pair(x, 'R')));
      return_ans.push_back(make_pair(1, make_pair(x, 'L')));
    }
    if (x < 0) {
      ans.push_back(make_pair(1, make_pair(abs(x), 'L')));
      return_ans.push_back(make_pair(1, make_pair(abs(x), 'R')));
    }
    if (y > 0) {
      ans.push_back(make_pair(1, make_pair(y, 'U')));
      return_ans.push_back(make_pair(1, make_pair(y, 'D')));
    }
    if (y < 0) {
      ans.push_back(make_pair(1, make_pair(abs(y), 'D')));
      return_ans.push_back(make_pair(1, make_pair(abs(y), 'U')));
    }
    ans.push_back(make_pair(2, make_pair(-1, -1)));
    for (auto hold : return_ans) {
      ans.push_back(hold);
    }
    ans.push_back(make_pair(3, make_pair(-1, -1)));
  }
  cout << ans.size() << endl;
  for (auto hold : ans) {
    if (hold.first == 1) {
      printf("%lld %lld %c\n", hold.first, hold.second.first,
             hold.second.second);
    } else {
      printf("%lld\n", hold.first);
    }
  }
  return 0;
}
