// Problem: D - Robot Arms
// Contest: AtCoder - AtCoder Regular Contest 103
// URL: https://atcoder.jp/contests/arc103/tasks/arc103_b
// Memory Limit: 1024 MB
// Time Limit: 2000 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)

//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
//
//#include <immintrin.h>
//#include <emmintrin.h>

#include <bits/stdc++.h>
//#pragma GCC optimize("O2")
#define vi vector<int>
#define pii pair<int, int >
#define mp make_pair
#define fi first
#define se second
#define pb push_back
#define LL long long
#define rep(i,a,n) for (int i=a;i<=n;i++)
#define per(i,a,n) for (int i=n;i>=a;i--)
#define all(x) (x).begin(), (x).end()
#define all2(x,n) (x+1), (x+1+n)
#define sz(x) ((int)(x).size())
#define mod(x) ((x)%MOD)
#define debug(x) cerr<<#x<<" : "<<x<<endl
#define mt make_tuple
#define eb emplace_back
#define o(X) (1<<(X))
#define oL(X) (1LL<<(X))
#define contain(S,X) (((S)&o(X))!=0)
#define containL(S,X) (((S)&oL(X))!=0)
#define ppt(x) __builtin_popcount(x)
using namespace std;
const int INF=0x3f3f3f3f,N=1e6+5,MOD=1e9+7;
const LL INF_LL=0x3f3f3f3f3f3f3f3fLL;
inline int getplc(int x,int y) { return (x>>y)&1; }
template<typename T>
T square(T x) {return x*x;}
LL qpow(LL a,LL b=MOD-2,LL _MOD=MOD){
	LL res=1;
	for(;b;b>>=1,a=a*a%_MOD){
		if(b&1)res=res*a%_MOD;
	}
	return res;
}
// Smax
//int Smax() { return -INF; }
template <typename T>
T Smax(T x) { return x; }
template<typename T, typename... Args>
T Smax(T a, Args... args) { return max(a, Smax(args...)); }
// Smin
template <typename T>
T Smin(T x) { return x; }
template<typename T, typename... Args>
T Smin(T a, Args... args) { return min(a, Smin(args...)); }
template <typename T>
// erro
#define errorl(args...) { string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); errl(_it, args); }

void errl(istream_iterator<string> it) {}
template<typename T, typename... Args>
void errl(istream_iterator<string> it, T a, Args... args) {
	cerr << *it << " = " << a << endl;
	errl(++it, args...);
}

#define error(args...) { string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); err(_it, args); cerr<<endl;}
void err(istream_iterator<string> it) {}
template<typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
	cerr << *it << "=" << a << " # ";
	err(++it, args...);
}
void Solve();
int main() {
#ifndef ONLINE_JUDGE
//	freopen("in.txt","r",stdin);
//    freopen("o1.txt","w",stdout);
#endif
	ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
	Solve();
	return 0;
}

//////////////////////////////////////////////////////////////////

int x[N],y[N],par[N];
vector<char>ans[N];
vector<LL> chos;

int can(LL x,LL y,int plc){
  if((abs(x)+abs(y)<=oL(plc)))return 1;
  return 0;
}

void dfs(LL x,LL y,int plc,int id){
  if(plc<0){
    return;
  }
  if     (can(x+oL(plc),y,plc))ans[id].pb('R'),dfs(x+oL(plc),y,plc-1,id);
  else if(can(x-oL(plc),y,plc))ans[id].pb('L'),dfs(x-oL(plc),y,plc-1,id);
  else if(can(x,y+oL(plc),plc))ans[id].pb('U'),dfs(x,y+oL(plc),plc-1,id);
  else if(can(x,y-oL(plc),plc))ans[id].pb('D'),dfs(x,y-oL(plc),plc-1,id);
}

const int MAXN=32;

void Solve(){
  int n;
  cin>>n;
  rep(i,1,n){
    cin>>x[i]>>y[i];
    x[i]=-x[i],y[i]=-y[i];
    par[i]=((x[i]+y[i])%2+2)%2;
  }
  rep(i,2,n){
    if(par[i]!=par[i-1]){
      cout<<-1<<endl;
      return;
    }
  }
  if(par[1]==0){
    rep(i,1,n){
      if(abs(x[i])>abs(y[i])){
        if(x[i]<0)ans[i].pb('R'),x[i]++;
        else ans[i].pb('L'),x[i]--;
      }
      else{
        if(y[i]<0)ans[i].pb('U'),y[i]++;
        else ans[i].pb('D'),y[i]--;
      }
    }
    chos.pb(1);
  }
  rep(i,0,MAXN){
    chos.pb(oL(i));
  }
  rep(i,1,n){
    dfs(x[i],y[i],MAXN,i);
    reverse(ans[i].begin()+(par[1]==0),ans[i].end());
  }
  cout<<sz(chos)<<endl;
  for(auto p:chos)cout<<p<<" ";cout<<endl;
  rep(i,1,n){
    for(auto p:ans[i])cout<<p;
    cout<<'\n';
  }
} 


Measured memory_bytes: 27220