#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
const int MAXN=1005;
const int INF=1e9;
int n,X[MAXN],Y[MAXN];
int bi[100],l,f[5];
void Print(int x,int y){
	for(int i=1;i<=l;i++){
		if(abs(x)>abs(y)){
			if(x<0)printf("D"),x+=bi[i];
			else printf("U"),x-=bi[i];
		}
		else{
			if(y<0)printf("L"),y+=bi[i];
			else printf("R"),y-=bi[i];
		}
	}
	puts("");
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d%d",&X[i],&Y[i]);
		f[(X[i]+Y[i])%2]=1;
	}
	if(f[0]==f[1]){
		printf("-1\n");
		return 0;
	}
	l=0;
	for(int i=30;i>=0;i--)
		bi[++l]=(1<<i);
	if(f[0])bi[++l]=1;
	printf("%d\n",l);
	for(int i=1;i<l;i++)
		printf("%d ",bi[i]);
	printf("%d\n",bi[l]);
	for(int i=1;i<=n;i++)
		Print(Y[i],X[i]);
}