Language: C++

#include <bits/stdc++.h>
using namespace std;

#define NDEBUG
#ifdef DEBUG
#include "../cout11.h"
#undef NDEBUG
#endif
#include <cassert>

typedef long long ll;
typedef long double Double;
typedef unsigned long long ull;
typedef pair<int,int> ii;
typedef pair<ll,ll> llll;
typedef pair<double,double> dd;

typedef vector<int> vi;
typedef vector<vector<int>> vvi;
typedef vector<ii> vii;
typedef vector<vector<ii>> vvii;
typedef vector<ll> vll;
typedef vector<string> vs;
typedef vector<double> vd;
typedef vector<long double> vD;

#define sz(a)  int((a).size())
#define pb  push_back
#define FOR(var,from,to) for(int var=(from);var<=(to);++var)
#define rep(var,n)  for(int var=0;var<(n);++var)
#define rep1(var,n)  for(int var=1;var<=(n);++var)
#define repC2(vari,varj,n)  for(int vari=0;vari<(n)-1;++vari)for(int varj=vari+1;varj<(n);++varj)
#define ALL(c)  (c).begin(),(c).end()
#define RALL(c)  (c).rbegin(),(c).rend()
#define tr(i,c)  for(auto i=(c).begin(); i!=(c).end(); ++i)
#define found(s,e)  ((s).find(e)!=(s).end())
#define mset(arr,val)  memset(arr,val,sizeof(arr))
#define mid(x,y) ((x)+((y)-(x))/2)
#define IN(x,a,b) ((a)<=(x)&&(x)<=(b))
#define cons make_pair


ll gcd(ll a, ll b) { while(a) swap(a, b%=a); return b; }


void solveS(int N,vi& x,vi& y) {

    vi _cnt(2, 0);
    int lmax = 0;
    vi ls(N), rs(N);
    rep(i,N){
        int l = abs(x[i]) + abs(y[i]);                       
        ls[i] = l;
        lmax = max(lmax, l);
        _cnt[l % 2]++;
    }
    if (_cnt[0] && _cnt[1]) {
        cout << -1 << endl;
        return;
    }

    int m = lmax; // (_cnt[1]) ? 19 : 20;
    if (m > 40) {
      cout << -1 << endl;
      return;
    }
    printf("%d\n", m);
    printf("1");
    rep(i, m-1) printf(" 1");
    printf("\n");
    rep(i,N){
        int rem = m;
        if (x[i] > 0) { // right
            rep(j, x[i]) putchar('R');
            rem -= x[i];
        } else if (x[i] < 0) { // left
          rep(j, -x[i]) putchar('L');
          rem += x[i];
        } else {
          //
        }
        if (y[i] > 0) { // up
          rep(j, y[i]) putchar('U');
          rem -= y[i];
        } else if (y[i] < 0) {  // down
          rep(j, -y[i]) putchar('D');
          rem += y[i];
        } else {
          //
        }
        assert(rem >= 0 && rem%2 == 0);
        for (int j=0; j<rem; j+=2) {
          putchar('R');
          putchar('L');
        }
        putchar('\n');
    }
}


int main() {
  int N;
  cin >> N;
  vi x(N), y(N);
  rep(i, N) cin >> x[i] >> y[i];
  solveS(N, x, y);
  return 0;
}

Compiler output:
a.cc:52:58: error: extended character   is not valid in an identifier
   52 |         int l = abs(x[i]) + abs(y[i]);                       
      |                                                          ^
a.cc:52:58: error: extended character   is not valid in an identifier
a.cc:52:58: error: extended character   is not valid in an identifier
a.cc:52:58: error: extended character   is not valid in an identifier
a.cc: In function 'void solveS(int, vi&, vi&)':
a.cc:52:58: error: '\U000000a0\U000000a0\U000000a0\U000000a0' was not declared in this scope
   52 |         int l = abs(x[i]) + abs(y[i]);                       
      |                                                          ^~~~