#include <bits/stdc++.h>   using namespace std;   struct pr {     int type;     int k;     char dir;   };   struct point {     long long first;     long long second;   };   bool cmp(const point &a, const point &b) {     return sqrt(a.first * a.first + a.second * a.second) <            sqrt(b.first * b.first + b.second * b.second);   }   int main() {     int n;     cin >> n;     vector<point> cnt;     for (int i = 0; i < n; i++) {       long long x, y;       cin >> x >> y;       point ty;       ty.first = x;       ty.second = y;       cnt.push_back(ty);     }     sort(cnt.begin(), cnt.end(), cmp);     int ans = 0;     vector<pr> t;     for (int i = 0; i < n; i++) {       int x = cnt[i].first;       int y = cnt[i].second;       if (x == 0) {         ans += 4;         pr tt;         tt.type = 1;         tt.k = abs(y);         if (y > 0) {           tt.dir =  U ;         } else {           tt.dir =  D ;         }         t.push_back(tt);         tt.type = 2;         t.push_back(tt);         tt.type = 1;         tt.k = abs(y);         if (y > 0) {           tt.dir =  D ;         } else {           tt.dir =  U ;         }         t.push_back(tt);         tt.type = 3;         t.push_back(tt);       } else if (y == 0) {         ans += 4;         pr tt;         tt.type = 1;         tt.k = abs(x);         if (x > 0) {           tt.dir =  R ;         } else {           tt.dir =  L ;         }         t.push_back(tt);         tt.type = 2;         t.push_back(tt);         tt.type = 1;         tt.k = abs(x);         if (x > 0) {           tt.dir =  L ;         } else {           tt.dir =  R ;         }         t.push_back(tt);         tt.type = 3;         t.push_back(tt);       } else {         ans += 6;         if (x > 0 && y > 0) {           pr tt;           tt.type = 1;           tt.k = abs(x);           tt.dir =  R ;           t.push_back(tt);           tt.type = 1;           tt.k = abs(y);           tt.dir =  U ;           t.push_back(tt);           tt.type = 2;           t.push_back(tt);           tt.type = 1;           tt.k = abs(x);           tt.dir =  L ;           t.push_back(tt);           tt.type = 1;           tt.k = abs(y);           tt.dir =  D ;           t.push_back(tt);           tt.type = 3;           t.push_back(tt);         } else if (x > 0 && y < 0) {           pr tt;           tt.type = 1;           tt.k = abs(x);           tt.dir =  R ;           t.push_back(tt);           tt.type = 1;           tt.k = abs(y);           tt.dir =  D ;           t.push_back(tt);           tt.type = 2;           t.push_back(tt);           tt.type = 1;           tt.k = abs(x);           tt.dir =  L ;           t.push_back(tt);           tt.type = 1;           tt.k = abs(y);           tt.dir =  U ;           t.push_back(tt);           tt.type = 3;           t.push_back(tt);         } else if (x < 0 && y > 0) {           pr tt;           tt.type = 1;           tt.k = abs(x);           tt.dir =  L ;           t.push_back(tt);           tt.type = 1;           tt.k = abs(y);           tt.dir =  U ;           t.push_back(tt);           tt.type = 2;           t.push_back(tt);           tt.type = 1;           tt.k = abs(x);           tt.dir =  R ;           t.push_back(tt);           tt.type = 1;           tt.k = abs(y);           tt.dir =  D ;           t.push_back(tt);           tt.type = 3;           t.push_back(tt);         } else if (x < 0 && y < 0) {           pr tt;           tt.type = 1;           tt.k = abs(x);           tt.dir =  L ;           t.push_back(tt);           tt.type = 1;           tt.k = abs(y);           tt.dir =  D ;           t.push_back(tt);           tt.type = 2;           t.push_back(tt);           tt.type = 1;           tt.k = abs(x);           tt.dir =  R ;           t.push_back(tt);           tt.type = 1;           tt.k = abs(y);           tt.dir =  U ;           t.push_back(tt);           tt.type = 3;           t.push_back(tt);         }       }     }     cout << ans << endl;     for (int i = 0; i < t.size(); i++) {       if (t[i].type == 1) {         printf( %d %d %c n , t[i].type, t[i].k, t[i].dir);       } else {         printf( %d n , t[i].type);       }     }     return 0;   }