#include using namespace std; #define rep(i,a,b) for(int i=a;i=b;i--) #define fore(i,a) for(auto&i:a) #define ff first #define ss second #define pb push_back #define all(a) begin(a),end(a) using vi=vector; using vll=vector; using ll=long long; using pii=pair; using pll=pair; inline bool ingrid(int a,int b,int h,int w){ return 0<=a&&a deg(n); vector g1(n),gn(n); rep(i,0,m){ if(pii(u[i],v[i])==pii(0,n-1)){ cout<<-1< ans(m,-1); if(max(deg[0],deg[n-1])<=m/2){ vi cnt(2); int k{}; vector flag(n); rep(i,0,n){ if(g1[i]&&gn[i]){ k++; flag[i]=1; } } rep(i,0,m){ if(u[i]==0&&flag[v[i]]){ ans[i]=0; cnt[0]++; } if(v[i]==n-1&&flag[u[i]]){ ans[i]=1; cnt[1]++; } } if(k>m/2){ cout<<-1<=m/2)continue; ans[i]=0; cnt[0]++; } rep(i,0,m){ if(ans[i]!=-1)continue; ans[i]=1; cnt[1]++; } }else{ rep(i,0,m){ if(ans[i]!=-1)continue; if(v[i]!=n-1)continue; ans[i]=1; cnt[1]++; } rep(i,0,m){ if(ans[i]!=-1)continue; if(u[i]!=0)continue; if(cnt[1]>=m/2)continue; ans[i]=1; cnt[1]++; } rep(i,0,m){ if(ans[i]!=-1)continue; ans[i]=0; cnt[0]++; } } } else{ vi cnt(2); if(deg[0]<=m/2){ rep(i,0,m){ if(u[i]==0){ ans[i]=0; cnt[0]++; } } }else{ rep(i,0,m){ if(v[i]==n-1){ ans[i]=0; cnt[0]++; } } } rep(i,0,m){ if(u[i]!=0&&v[i]!=n-1){ cnt[1]++; ans[i]=1; } } rep(i,0,m){ if(ans[i]!=-1)continue; if(cnt[0]+1<=m/2){ cnt[0]++; ans[i]=0; }else { cnt[1]++; ans[i]=1; } } assert(cnt[0]==m/2&&cnt[1]==m/2); } rep(i,0,m){ cout<<(ans[i]?'B':'R'); } cout<>n>>m; u.resize(m);v.resize(m); rep(i,0,m){ cin>>u[i]>>v[i];u[i]--;v[i]--; if(u[i]>v[i])swap(u[i],v[i]); } solve(); return 0; } /* */