QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#443161#8523. Puzzle IIucup-team087#AC ✓44ms28068kbC++2017.0kb2024-06-15 14:35:512024-06-15 14:35:51

Judging History

This is the latest submission verdict.

  • [2024-06-15 14:35:51]
  • Judged
  • Verdict: AC
  • Time: 44ms
  • Memory: 28068kb
  • [2024-06-15 14:35:51]
  • Submitted

answer

#ifndef LOCAL
#pragma GCC optimize ("Ofast")
#pragma GCC optimize ("unroll-loops")
#endif

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

using ll=long long;
#define int ll

bool dbg=false;

#define rng(i,a,b) for(int i=int(a);i<int(b);i++)
#define rep(i,b) rng(i,0,b)
#define gnr(i,a,b) for(int i=int(b)-1;i>=int(a);i--)
#define per(i,b) gnr(i,0,b)
#define pb push_back
#define eb emplace_back
#define a first
#define b second
#define bg begin()
#define ed end()
#define all(x) x.bg,x.ed
#define si(x) int(x.size())
#ifdef LOCAL
#define dmp(x) cerr<<__LINE__<<" "<<#x<<" "<<x<<endl
#else
#define dmp(x) void(0)
#endif

template<class t,class u> bool chmax(t&a,u b){if(a<b){a=b;return true;}else return false;}
template<class t,class u> bool chmin(t&a,u b){if(b<a){a=b;return true;}else return false;}

template<class t> using vc=vector<t>;
template<class t> using vvc=vc<vc<t>>;

using pi=pair<int,int>;
using vi=vc<int>;
using vvi=vc<vc<int>>;

template<class t,class u>
ostream& operator<<(ostream& os,const pair<t,u>& p){
	return os<<"{"<<p.a<<","<<p.b<<"}";
}

template<class t> ostream& operator<<(ostream& os,const vc<t>& v){
	os<<"{";
	for(auto e:v)os<<e<<",";
	return os<<"}";
}

#define mp make_pair
#define mt make_tuple
#define one(x) memset(x,-1,sizeof(x))
#define zero(x) memset(x,0,sizeof(x))
#ifdef LOCAL
void dmpr(ostream&os){os<<endl;}
template<class T,class... Args>
void dmpr(ostream&os,const T&t,const Args&... args){
	os<<t<<" ";
	dmpr(os,args...);
}
#define dmp2(...) dmpr(cerr,__LINE__,##__VA_ARGS__)
#else
#define dmp2(...) void(0)
#endif

using uint=unsigned;
using ull=unsigned long long;

template<class t,size_t n>
ostream& operator<<(ostream&os,const array<t,n>&a){
	return os<<vc<t>(all(a));
}

ll rand_int(ll l, ll r) { //[l, r]
	//#ifdef LOCAL
	static mt19937_64 gen;
	/*#else
	static mt19937_64 gen(chrono::steady_clock::now().time_since_epoch().count());
	#endif*/
	return uniform_int_distribution<ll>(l, r)(gen);
}

ll rand_int(ll k){ //[0,k)
	return rand_int(0,k-1);
}
string rand_string(int n,char lw,char up){
	string s(n,'?');
	rep(i,n)s[i]=rand_int(lw,up);
	return s;
}

int current_run_id,run_batch_size=1000;
int calc_random_limit(){
	return current_run_id/run_batch_size+1;
}
template<class t>
void generate_single(t&a){
	a=rand_int(1,calc_random_limit());
}
void generate_single(string&a){
	int n;generate_single(n);
	a=rand_string(n,'a','b');
}
template<class t,class u>
void generate_single(pair<t,u>&a){
	generate_single(a.a);
	generate_single(a.b);
}
//https://trap.jp/post/1224/
template<class... Args>
void input(Args&... a){
	if(dbg){
		(generate_single(a),...);
	}else{
		(cin >> ... >> a);
	}
}
#define INT(...) int __VA_ARGS__;input(__VA_ARGS__)
#define LL(...) ll __VA_ARGS__;input(__VA_ARGS__)
#define ULL(...) ull __VA_ARGS__;input(__VA_ARGS__)
#define STR(...) string __VA_ARGS__;input(__VA_ARGS__)
#define CHR(...) char __VA_ARGS__;input(__VA_ARGS__)
#define DBL(...) double __VA_ARGS__;input(__VA_ARGS__)
#define LD(...) ld __VA_ARGS__;input(__VA_ARGS__)
#define overload3(a,b,c,d,...) d
#define VI2(name,size) vi name(size);rep(i_##name,size)input(name[i_##name]);
#define VI3(name,size,offset) vi name(size);rep(i_##name,size)input(name[i_##name]),name[i_##name]+=offset;
#define VI(...) overload3(__VA_ARGS__,VI3,VI2)(__VA_ARGS__)
#define VPI(name,size) vc<pi> name(size);rep(i_##name,size)input(name[i_##name]);
#define VVI(name,sizeN,sizeM) vvi name(sizeN,vi(sizeM));\
rep(i_##name,sizeN)rep(j_##name,sizeM)input(name[i_##name][j_##name]);
#define VS(name,size) vc<string> name(size);rep(i_##name,size)input(name[i_##name]);

#define overload5(a,b,c,d,e,f,...) f
#define VVC4(type,name,sizeN,sizeM) vvc<type> name(sizeN,vc<type>(sizeM));
#define VVC5(type,name,sizeN,sizeM,ini) vvc<type> name(sizeN,vc<type>(sizeM,ini));
#define VVC(...) overload5(__VA_ARGS__,VVC5,VVC4)(__VA_ARGS__)

template<class T>
T vvvc(T v){
	return v;
}

template<class T,class...Args>
auto vvvc(int n,T v,Args...args){
	return vector(n,vvvc(v,args...));
}

template<int i,class T>
void print_tuple(ostream&,const T&){
}

template<int i,class T,class H,class ...Args>
void print_tuple(ostream&os,const T&t){
	if(i)os<<",";
	os<<get<i>(t);
	print_tuple<i+1,T,Args...>(os,t);
}

template<class ...Args>
ostream& operator<<(ostream&os,const tuple<Args...>&t){
	os<<"{";
	print_tuple<0,tuple<Args...>,Args...>(os,t);
	return os<<"}";
}

ll read(){
	ll i;
	cin>>i;
	return i;
}

vi readvi(int n,int off=0){
	vi v(n);
	rep(i,n)v[i]=read()+off;
	return v;
}

pi readpi(int off=0){
	int a,b;cin>>a>>b;
	return pi(a+off,b+off);
}

template<class t>
void print_single(t x,int suc=1){
	cout<<x;
	if(suc==1){
		if(dbg)cout<<endl;
		else cout<<"\n";
	}
	if(suc==2)
		cout<<" ";
}

template<class t,class u>
void print_single(const pair<t,u>&p,int suc=1){
	print_single(p.a,2);
	print_single(p.b,suc);
}

template<class T>
void print_single(const vector<T>&v,int suc=1){
	rep(i,v.size())
		print_single(v[i],i==int(v.size())-1?suc:2);
}

template<class T>
void print_offset(const vector<T>&v,ll off,int suc=1){
	rep(i,v.size())
		print_single(v[i]+off,i==int(v.size())-1?suc:2);
}

template<class T,size_t N>
void print_single(const array<T,N>&v,int suc=1){
	rep(i,N)
		print_single(v[i],i==int(N)-1?suc:2);
}

template<class T>
void print(const T&t){
	print_single(t);
}

template<class T,class ...Args>
void print(const T&t,const Args&...args){
	print_single(t,2);
	print(args...);
}

template<class T>
void printvv(const vvc<T>&vs){
	for(const auto&row:vs)print(row);
}

string readString(){
	string s;
	cin>>s;
	return s;
}

template<class T>
T sq(const T& t){
	return t*t;
}

void YES(bool ex=true){
	cout<<"YES\n";
	if(ex)exit(0);
	#ifdef LOCAL
	cout.flush();
	#endif
}
void NO(bool ex=true){
	cout<<"NO\n";
	if(ex)exit(0);
	#ifdef LOCAL
	cout.flush();
	#endif
}
void Yes(bool ex=true){
	cout<<"Yes\n";
	if(ex)exit(0);
	#ifdef LOCAL
	cout.flush();
	#endif
}
void No(bool ex=true){
	cout<<"No\n";
	if(ex)exit(0);
	#ifdef LOCAL
	cout.flush();
	#endif
}
//#define CAPITAL
/*
void yes(bool ex=true){
	#ifdef CAPITAL
	cout<<"YES"<<"\n";
	#else
	cout<<"Yes"<<"\n";
	#endif
	if(ex)exit(0);
	#ifdef LOCAL
	cout.flush();
	#endif
}
void no(bool ex=true){
	#ifdef CAPITAL
	cout<<"NO"<<"\n";
	#else
	cout<<"No"<<"\n";
	#endif
	if(ex)exit(0);
	#ifdef LOCAL
	cout.flush();
	#endif
}*/
void possible(bool ex=true){
	#ifdef CAPITAL
	cout<<"POSSIBLE"<<"\n";
	#else
	cout<<"Possible"<<"\n";
	#endif
	if(ex)exit(0);
	#ifdef LOCAL
	cout.flush();
	#endif
}
void impossible(bool ex=true){
	#ifdef CAPITAL
	cout<<"IMPOSSIBLE"<<"\n";
	#else
	cout<<"Impossible"<<"\n";
	#endif
	if(ex)exit(0);
	#ifdef LOCAL
	cout.flush();
	#endif
}

constexpr ll ten(int n){
	return n==0?1:ten(n-1)*10;
}

const ll infLL=LLONG_MAX/3;

#ifdef int
const int inf=infLL;
#else
const int inf=INT_MAX/2-100;
#endif

int topbit(signed t){
	return t==0?-1:31-__builtin_clz(t);
}
int topbit(ll t){
	return t==0?-1:63-__builtin_clzll(t);
}
int topbit(ull t){
	return t==0?-1:63-__builtin_clzll(t);
}
int botbit(signed a){
	return a==0?32:__builtin_ctz(a);
}
int botbit(ll a){
	return a==0?64:__builtin_ctzll(a);
}
int botbit(ull a){
	return a==0?64:__builtin_ctzll(a);
}
int popcount(signed t){
	return __builtin_popcount(t);
}
int popcount(ll t){
	return __builtin_popcountll(t);
}
int popcount(ull t){
	return __builtin_popcountll(t);
}
int bitparity(ll t){
	return __builtin_parityll(t);
}
bool ispow2(int i){
	return i&&(i&-i)==i;
}
ll mask(int i){
	return (ll(1)<<i)-1;
}
ull umask(int i){
	return (ull(1)<<i)-1;
}
ll minp2(ll n){
	if(n<=1)return 1;
	else return ll(1)<<(topbit(n-1)+1);
}

bool inc(int a,int b,int c){
	return a<=b&&b<=c;
}

template<class S> void mkuni(S&v){
	sort(all(v));
	v.erase(unique(all(v)),v.ed);
}

template<class t> bool isuni(vc<t> v){
	int s=si(v);
	mkuni(v);
	return si(v)==s;
}

template<class t>
void myshuffle(vc<t>&a){
	rep(i,si(a))swap(a[i],a[rand_int(0,i)]);
}

template<class S,class u>
int lwb(const S&v,const u&a){
	return lower_bound(all(v),a)-v.bg;
}
template<class t,class u>
bool bis(const vc<t>&v,const u&a){
	return binary_search(all(v),a);
}

//VERIFY: yosupo
//KUPC2017J
//AOJDSL1A
//without rank
struct unionfind{
	vi p,s;
	int c;
	unionfind(int n):p(n,-1),s(n,1),c(n){}
	void clear(){
		fill(all(p),-1);
		fill(all(s),1);
		c=si(p);
	}
	int find(int a){
		return p[a]==-1?a:(p[a]=find(p[a]));
	}
	//set b to a child of a
	bool unite(int a,int b){
		a=find(a);
		b=find(b);
		if(a==b)return false;
		p[b]=a;
		s[a]+=s[b];
		c--;
		return true;
	}
	bool same(int a,int b){
		return find(a)==find(b);
	}
	int sz(int a){
		return s[find(a)];
	}
};

vvc<int> readGraph(int n,int m){
	vvc<int> g(n);
	rep(i,m){
		int a,b;
		cin>>a>>b;
		//sc.read(a,b);
		a--;b--;
		g[a].pb(b);
		g[b].pb(a);
	}
	return g;
}

vvc<int> rand_tree(int n){
	vvc<int> t(n);
	unionfind uf(n);
	while(uf.c>1){
		int a=rand_int(n);
		int b=rand_int(n);
		if(uf.unite(a,b)){
			t[a].pb(b);
			t[b].pb(a);
		}
	}
	return t;
}

vvc<int> readTree(int n){
	if(dbg){
		return rand_tree(n);
	}else{
		return readGraph(n,n-1);
	}
}

void printTree(const vvc<int> t){
	int n=si(t);
	int degsum=0;
	rep(i,n)degsum+=si(t[i]);
	if(degsum==n-1){
		//directed
		rep(i,si(t))for(auto j:t[i]){
			print(i+1,j+1);
		}
	}else if(degsum==2*(n-1)){
		//undirected
		rep(i,si(t))for(auto j:t[i])if(i<j){
			print(i+1,j+1);
		}
	}else{
		assert(false);
	}
}

template<class t>
vc<t> presum(const vc<t>&a){
	vc<t> s(si(a)+1);
	rep(i,si(a))s[i+1]=s[i]+a[i];
	return s;
}
vc<ll> presum(const vi&a){
	vc<ll> s(si(a)+1);
	rep(i,si(a))s[i+1]=s[i]+a[i];
	return s;
}
//BIT で数列を管理するときに使う (CF850C)
template<class t>
vc<t> predif(vc<t> a){
	gnr(i,1,si(a))a[i]-=a[i-1];
	return a;
}
template<class t>
vvc<ll> imos(const vvc<t>&a){
	int n=si(a),m=si(a[0]);
	vvc<ll> b(n+1,vc<ll>(m+1));
	rep(i,n)rep(j,m)
		b[i+1][j+1]=b[i+1][j]+b[i][j+1]-b[i][j]+a[i][j];
	return b;
}

//verify してないや
void transvvc(int&n,int&m){
	swap(n,m);
}
template<class t,class... Args>
void transvvc(int&n,int&m,vvc<t>&a,Args&...args){
	assert(si(a)==n);
	vvc<t> b(m,vi(n));
	rep(i,n){
		assert(si(a[i])==m);
		rep(j,m)b[j][i]=a[i][j];
	}
	a.swap(b);
	transvvc(n,m,args...);
}
//CF854E
void rotvvc(int&n,int&m){
	swap(n,m);
}
template<class t,class... Args>
void rotvvc(int&n,int&m,vvc<t>&a,Args&...args){
	assert(si(a)==n);
	vvc<t> b(m,vi(n));
	rep(i,n){
		assert(si(a[i])==m);
		rep(j,m)b[m-1-j][i]=a[i][j];
	}
	a.swap(b);
	rotvvc(n,m,args...);
}

//ソートして i 番目が idx[i]
//CF850C
template<class t>
vi sortidx(const vc<t>&a){
	int n=si(a);
	vi idx(n);iota(all(idx),0);
	sort(all(idx),[&](int i,int j){return a[i]<a[j];});
	return idx;
}
//vs[i]=a[idx[i]]
//例えば sortidx で得た idx を使えば単にソート列になって返ってくる
//CF850C
template<class t>
vc<t> a_idx(const vc<t>&a,const vi&idx){
	int n=si(a);
	assert(si(idx)==n);
	vc<t> vs(n);
	rep(i,n)vs[i]=a[idx[i]];
	return vs;
}
//CF850C
vi invperm(const vi&p){
	int n=si(p);
	vi q(n);
	rep(i,n)q[p[i]]=i;
	return q;
}

template<class t,class s=t>
s SUM(const vc<t>&a){
	return accumulate(all(a),s(0));
}
template<class t,size_t K,class s=t>
s SUM(const array<t,K>&a){
	return accumulate(all(a),s(0));
}

template<class t>
t MAX(const vc<t>&a){
	return *max_element(all(a));
}

template<class t>
pair<t,int> MAXi(const vc<t>&a){
	auto itr=max_element(all(a));
	return mp(*itr,itr-a.bg);
}

template<class A>
auto MIN(const A&a){
	return *min_element(all(a));
}

template<class t>
pair<t,int> MINi(const vc<t>&a){
	auto itr=min_element(all(a));
	return mp(*itr,itr-a.bg);
}

vi vid(int n){
	vi res(n);iota(all(res),0);
	return res;
}

template<class S>
void soin(S&s){
	sort(all(s));
}

template<class S,class F>
void soin(S&s,F&&f){
	sort(all(s),forward<F>(f));
}

template<class S>
S soout(S s){
	soin(s);
	return s;
}

template<class S>
void rein(S&s){
	reverse(all(s));
}

template<class S>
S reout(S s){
	rein(s);
	return s;
}

template<class t,class u>
pair<t,u>&operator+=(pair<t,u>&a,pair<t,u> b){
	a.a+=b.a;a.b+=b.b;return a;}
template<class t,class u>
pair<t,u>&operator-=(pair<t,u>&a,pair<t,u> b){
	a.a-=b.a;a.b-=b.b;return a;}
template<class t,class u>
pair<t,u> operator+(pair<t,u> a,pair<t,u> b){return mp(a.a+b.a,a.b+b.b);}
template<class t,class u>
pair<t,u> operator-(pair<t,u> a,pair<t,u> b){return mp(a.a-b.a,a.b-b.b);}
template<class t,class u,class v>
pair<t,u>&operator*=(pair<t,u>&a,v b){
	a.a*=b;a.b*=b;return a;}
template<class t,class u,class v>
pair<t,u> operator*(pair<t,u> a,v b){return a*=b;}
template<class t,class u>
pair<t,u> operator-(pair<t,u> a){return mp(-a.a,-a.b);}
namespace std{
template<class t,class u>
istream&operator>>(istream&is,pair<t,u>&a){
	return is>>a.a>>a.b;
}
}

template<class t>
t gpp(vc<t>&vs){
	assert(si(vs));
	t res=move(vs.back());
	vs.pop_back();
	return res;
}

template<class t,class u>
void pb(vc<t>&a,const vc<u>&b){
	a.insert(a.ed,all(b));
}

template<class t,class...Args>
vc<t> cat(vc<t> a,Args&&...b){
	(pb(a,forward<Args>(b)),...);
	return a;
}

template<class t,class u>
vc<t>& operator+=(vc<t>&a,u x){
	for(auto&v:a)v+=x;
	return a;
}

template<class t,class u>
vc<t> operator+(vc<t> a,u x){
	return a+=x;
}

template<class t>
vc<t>& operator+=(vc<t>&a,const vc<t>&b){
	a.resize(max(si(a),si(b)));
	rep(i,si(b))a[i]+=b[i];
	return a;
}

template<class t>
vc<t> operator+(const vc<t>&a,const vc<t>&b){
	vc<t> c(max(si(a),si(b)));
	rep(i,si(a))c[i]+=a[i];
	rep(i,si(b))c[i]+=b[i];
	return c;
}

template<class t,class u>
vc<t>& operator-=(vc<t>&a,u x){
	for(auto&v:a)v-=x;
	return a;
}
template<class t,class u>
vc<t>& operator-(vc<t> a,u x){
	return a-=x;
}

template<class t,class u>
vc<t>& operator*=(vc<t>&a,u x){
	for(auto&v:a)v*=x;
	return a;
}
template<class t,class u>
vc<t>& operator*(vc<t> a,u x){
	return a*=x;
}

template<class t,class u>
vc<t>& operator/=(vc<t>&a,u x){
	for(auto&v:a)v/=x;
	return a;
}
template<class t,class u>
vc<t>& operator/(vc<t> a,u x){
	return a/=x;
}

template<class t,class u>
void remval(vc<t>&a,const u&v){
	a.erase(remove(all(a),v),a.ed);
}
//消した要素の個数を返してくれる
//UCUP 2-8-F
template<class t,class F>
int remif(vc<t>&a,F f){
	auto itr=remove_if(all(a),f);
	int res=a.ed-itr;
	a.erase(itr,a.ed);
	return res;
}

template<class VS,class u>
void fila(VS&vs,const u&a){
	fill(all(vs),a);
}

template<class t,class u>
int findid(const vc<t>&vs,const u&a){
	auto itr=find(all(vs),a);
	if(itr==vs.ed)return -1;
	else return itr-vs.bg;
}

template<class t>
void rtt(vc<t>&vs,int i){
	rotate(vs.bg,vs.bg+i,vs.ed);
}

//Multiuni2023-8 C
//f(lw)=false,...,f(n-1)=false,f(n)=true,...,f(up)=true,
//のときに n を返す
template<class F>
int find_min_true(int lw,int up,F f){
	while(up-lw>1){
		const int mid=(lw+up)/2;
		if(f(mid))up=mid;
		else lw=mid;
	}
	return up;
}
//f(lw)=true,f(up)=false
template<class F>
int find_max_true(int lw,int up,F f){
	while(up-lw>1){
		const int mid=(lw+up)/2;
		if(f(mid))lw=mid;
		else up=mid;
	}
	return lw;
}

template<class t> using pqmin=priority_queue<t,vc<t>,greater<t>>;
template<class t> using pqmax=priority_queue<t>;
using T=tuple<int,int,int>;

vi readState(){
	STR(s);
	vi res(si(s));
	rep(i,si(s))res[i]=s[i]=='C';
	return res;
}

void slv(){
	INT(n,k);
	vi xorg=readState();
	vi yorg=readState();
	
	vc<pi> ans;
	auto work=[&](int i,int j){
		/*rep(p,k){
			swap(xorg[(i+p)%n],yorg[(j+p)%n]);
		}*/
		ans.eb(i,j);
	};
	
	int xtar=count(all(xorg),0)>count(all(xorg),1)?0:1;
	int now=count(all(xorg),xtar);
	
	vi x=xorg,y=yorg;
	deque<int> a,b;
	rep(i,k+1)a.pb(x[i]);
	rep(i,k)b.pb(y[i]);
	
	int c=0,d=0;
	while(now<n){
		while(a.back()==xtar){
			x[(c+si(a)-1)%n]=a.back();
			a.pop_back();
			
			c=(c+n-1)%n;
			a.push_front(x[c]);
		}
		while(b.front()!=xtar){
			y[d]=b.front();
			b.pop_front();
			
			d++;
			b.push_back(y[(d+si(b))%n]);
		}
		
		work(c,d);
		work((c+1)%n,d);
		
		{
			int u=a.back();
			a.pop_back();
			int v=b.front();
			b.pop_front();
			a.push_front(v);
			b.push_back(u);
		}
		
		now++;
	}
	
	dmp(xorg);
	dmp(yorg);
	
	//assert(xorg==vi(n,xtar));
	//assert(yorg==vi(n,xtar^1));
	assert(si(ans)<=n);
	
	print(si(ans));
	for(auto [i,j]:ans){
		print(i+1,j+1);
	}
}

signed main(signed argc,char*argv[]){
	if(argc>1&&strcmp(argv[1],"D")==0)dbg=true;
	
	cin.tie(0);
	ios::sync_with_stdio(0);
	cout<<fixed<<setprecision(20);
	
	if(dbg){
		while(1){
			if(current_run_id%run_batch_size==0){
				cerr<<"Current Run "<<current_run_id<<endl;
			}
			slv();
			current_run_id++;
		}
	}else{
		//int t;cin>>t;rep(_,t)
		slv();
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3684kb

input:

6 3
BCCBCC
BBCBBC

output:

4
1 3
2 3
5 6
6 6

result:

ok moves = 4

Test #2:

score: 0
Accepted
time: 0ms
memory: 3640kb

input:

2 1
BC
BC

output:

2
2 2
1 2

result:

ok moves = 2

Test #3:

score: 0
Accepted
time: 0ms
memory: 3572kb

input:

2 1
BB
CC

output:

0

result:

ok moves = 0

Test #4:

score: 0
Accepted
time: 0ms
memory: 3576kb

input:

2 1
CC
BB

output:

0

result:

ok moves = 0

Test #5:

score: 0
Accepted
time: 0ms
memory: 3648kb

input:

3 1
CCC
BBB

output:

0

result:

ok moves = 0

Test #6:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

3 1
CBC
BCB

output:

2
1 2
2 2

result:

ok moves = 2

Test #7:

score: 0
Accepted
time: 0ms
memory: 3824kb

input:

3 2
BBB
CCC

output:

0

result:

ok moves = 0

Test #8:

score: 0
Accepted
time: 1ms
memory: 3648kb

input:

3 2
BCB
BCC

output:

2
3 1
1 1

result:

ok moves = 2

Test #9:

score: 0
Accepted
time: 0ms
memory: 3580kb

input:

4 2
CCCB
BBCB

output:

2
2 3
3 3

result:

ok moves = 2

Test #10:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

9 6
CCCBCCCBB
BBBCBBBCC

output:

6
7 4
8 4
4 7
5 7
4 7
5 7

result:

ok moves = 6

Test #11:

score: 0
Accepted
time: 1ms
memory: 3640kb

input:

21 3
CCCCBBCBCCCCCCCBCCCCC
BBCCBCBBBBBBBBBCBBBBB

output:

8
13 3
14 3
5 3
6 3
4 6
5 6
4 16
5 16

result:

ok moves = 8

Test #12:

score: 0
Accepted
time: 1ms
memory: 3640kb

input:

49 41
CBCCBCCBCCBCCBCCCBBCCBCBBCCCBBCCBCBCBCBCCCCBCBCCB
BCCCCBCBBBBCBCBBBBBCBBBBCCCCBCBBCBBCBBBBCBCBCBBBC

output:

38
47 2
48 2
46 2
47 2
45 2
46 2
44 2
45 2
42 3
43 3
42 7
43 7
39 8
40 8
39 13
40 13
38 17
39 17
36 17
37 17
36 17
37 17
33 17
34 17
31 18
32 18
29 20
30 20
27 22
28 22
25 26
26 26
24 31
25 31
21 33
22 33
18 38
19 38

result:

ok moves = 38

Test #13:

score: 0
Accepted
time: 0ms
memory: 3860kb

input:

114 8
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

output:

0

result:

ok moves = 0

Test #14:

score: 0
Accepted
time: 1ms
memory: 3572kb

input:

266 28
CBBCBBCCCCBCBBCBBBCBCBCBCBBCBCBBCCCCBCCCCCBCCBBCCBBCBCBBCCCCCCBBBCCCBCCBCBBCCCBCCCCCCBCBBCCCBCBBCCBCBBBCBCCCBBCBCCCCBBCBBCBBCCBBCCCCCBBCCCBCCCCCCCCBBBBBBCBCCBCCCCBBCBBBBCBCCCCCCCBCBBCBCCCCCCCCCCCBBBBCCCCBCBCCCBCCCCCCCCCBCBCCCBBBCCCBCCBCBBCBCCCCCCBCBCCCCBCBCCBCCCCBCB
CCBCBCBBCBCBBCBCCCBBBCBCBB...

output:

206
1 1
2 1
266 1
1 1
266 2
1 2
265 3
266 3
264 5
265 5
263 6
264 6
262 8
263 8
262 9
263 9
262 9
263 9
261 9
262 9
261 12
262 12
260 13
261 13
256 15
257 15
256 25
257 25
255 39
256 39
255 46
256 46
253 46
254 46
249 47
250 47
237 53
238 53
235 55
236 55
230 55
231 55
225 58
226 58
223 58
224 58
21...

result:

ok moves = 206

Test #15:

score: 0
Accepted
time: 1ms
memory: 3920kb

input:

620 443
BBBBBBCBBBCBBCBCBCBBBBCCCBCCBCBBBBBBCCCBBBCCBBCBCBCBBCCCCBCBBCBCCCCBBBBBBCCCCCBBBBCCBCBBBBBCBCBBCBCBCCCCBCBBCBBBCBBBCCCBCCCBBBBBCCBBCCBBBCCBCCBCBBCBCCCCCCCCCBCBCBBBCBBCBBCBBBBBBBCCBBBBBBBBBBCBBCBBCBBCCCBBCCBBBBCCCBBBBBBCBBBBBBBBCBBCBCBBBCCBBBBCCBBBCBCBCBBBBBCBBCBBBBCBBBBCCBBBCBBBBBCBBCCCCBCC...

output:

484
620 4
1 4
620 4
1 4
619 4
620 4
619 9
620 9
613 10
614 10
611 11
612 11
604 11
605 11
601 12
602 12
601 13
602 13
598 13
599 13
595 14
596 14
594 15
595 15
591 15
592 15
587 16
588 16
586 18
587 18
586 18
587 18
585 19
586 19
584 19
585 19
582 19
583 19
582 20
583 20
582 20
583 20
577 21
578 21
...

result:

ok moves = 484

Test #16:

score: 0
Accepted
time: 1ms
memory: 3740kb

input:

1446 646
CCCBCCCCCCCBBCCBBCCCCBBCCCBBCCCCCCCCCCCCCCCBCCCCCCCCBBCCBBCCCBCBBBCCCCBBCCCCCCCCCCCBCBCCCBBCCCCBBCBCBCCCCCCCBCCCCCCCBCCBCBBCCCCCCCCCCCCBCCCBCCCCCCBCCCBCCCCCBBCCCBBCCCBBBCCBCCBCCBBBCBCBCCCCBCBCCCBCCCCBBCCCCCCCBCCCCBCCCBBBCCCBCCBBCCCCBCCCBBCBCCCCCBBCCBCCCCCCBCCCCCCCCCCCCCCBCCCCCBCBCCCCBCCCCCB...

output:

874
1446 1
1 1
1439 3
1440 3
1433 3
1434 3
1432 11
1433 11
1428 11
1429 11
1427 12
1428 12
1425 14
1426 14
1424 15
1425 15
1424 25
1425 25
1423 25
1424 25
1423 27
1424 27
1423 27
1424 27
1421 27
1422 27
1421 27
1422 27
1421 27
1422 27
1420 36
1421 36
1411 37
1412 37
1411 46
1412 46
1408 51
1409 51
1...

result:

ok moves = 874

Test #17:

score: 0
Accepted
time: 1ms
memory: 3892kb

input:

3374 2755
BCBBCBBBCBBBBBBBBBCCBBBBBBBCCBBCBBCBBBBBCBBBBBBBBCBBBBBBBBBBBBCBBBCCBBBBCBBBBBCBBBBBCBBBBCBBBBBBBBBCBBBBBBBBBBBCBBBBBBBCBBBBBBBBBBCCBBBBBBBBBCBBCBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCBBBCBBCBBBBBBBBBBBBBBCCBCBCBCBBBBCBBBCBBBBBBBBCBBCBCBBCBCCBBBBBBBBBBBCCBBBBBBBBBBBBBBBBBCBBBBBBBBBBB...

output:

1216
3366 3
3367 3
3362 17
3363 17
3357 21
3358 21
3353 21
3354 21
3340 22
3341 22
3336 25
3337 25
3332 25
3333 25
3331 29
3332 29
3328 29
3329 29
3327 34
3328 34
3323 36
3324 36
3315 36
3316 36
3300 45
3301 45
3295 55
3296 55
3294 65
3295 65
3292 65
3293 65
3290 83
3291 83
3289 89
3290 89
3281 92
3...

result:

ok moves = 1216

Test #18:

score: 0
Accepted
time: 0ms
memory: 4368kb

input:

7872 7827
BCBBCBCBBCCBCBBBCCCBBBBBBBCBBBBCCBCCBCBBBBBBCBBCBBBCCCBBBCCCCBCBBBBCBBCCBBBBCCBBCBBBCBCBBCBCBBCCBBBCCBBBBCCBBCBBBBBBCBBBBBBBBCCBBCCCCBCCCBBCCCBBCBCBBBCBBBBCBBBBCBCBBBCCBBCCCCBBBCBBCCBBBBBBCBBBBCCCBBBCCCBBCCCBBBBBBCCBBBCCCCBBBCBBCBCCBBBCCCCBCBBCCBBBBCCBBBCBBCBBBCBBBCBBBBCCBBBBBCCBCBCBBBBBBB...

output:

5928
7869 1
7870 1
7869 3
7870 3
7867 4
7868 4
7865 4
7866 4
7862 4
7863 4
7862 8
7863 8
7861 8
7862 8
7857 11
7858 11
7855 11
7856 11
7853 12
7854 12
7851 12
7852 12
7851 12
7852 12
7851 12
7852 12
7851 14
7852 14
7850 14
7851 14
7850 19
7851 19
7849 22
7850 22
7847 27
7848 27
7846 28
7847 28
7840 ...

result:

ok moves = 5928

Test #19:

score: 0
Accepted
time: 2ms
memory: 4316kb

input:

18368 17997
CBBBBBBBBBBCBBBBBBBBBBBBBBCBBCCBBBBBBBBBBBBBCBCBBBBBBBBCBBBBBCBBBBBBBBBBBBBBCBBBBBBBBBBCBBBCBCBBBBBCBCBBCBBBBBBBBBBBBBCCCBBBBBBCBBBBCBCBBCBBBBBCBBBBBBBCCBBBBCCBCBBBBBBBBBBBBCBBBBBBBBCBCBBBBBBBBCBCBBBBBBBBBBBCBBBBCCBBBBBBBCBBBBBBBBBBBBBBBCCBBCBCBBCBCBBBCBBBBBBBBBBBBBCBBCBBBBBBBCCCBBBBBBBB...

output:

7330
1 2
2 2
18366 9
18367 9
18365 9
18366 9
18358 15
18359 15
18340 17
18341 17
18325 39
18326 39
18320 39
18321 39
18315 39
18316 39
18310 42
18311 42
18305 56
18306 56
18304 57
18305 57
18299 59
18300 59
18297 74
18298 74
18297 86
18298 86
18283 91
18284 91
18282 94
18283 94
18280 94
18281 94
182...

result:

ok moves = 7330

Test #20:

score: 0
Accepted
time: 3ms
memory: 5356kb

input:

42858 28689
CCCCCCCCCCCCCCCCCCCCBCCCBBCCCBCCCCCCCCCBCCCCCCCBCCCBCCCCCBCCCCCCCCBCCBCCBCCCCCCCCCCCCCCCCCBCCCCCCCCCBCCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCBBCCCCCCCCCCCCCCBBCCCBCCCCCCCCCCBCCCCCCCBCCCCBCBCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCBCCCBCBCCCCCCCCCCCCCCBCCCCCCCCBCCCCCCCCCCCCCCCCCC...

output:

8086
42855 1
42856 1
42855 2
42856 2
42853 6
42854 6
42849 10
42850 10
42848 13
42849 13
42834 24
42835 24
42833 36
42834 36
42831 36
42832 36
42827 39
42828 39
42827 46
42828 46
42816 46
42817 46
42800 71
42801 71
42798 73
42799 73
42759 75
42760 75
42753 76
42754 76
42750 87
42751 87
42742 89
4274...

result:

ok moves = 8086

Test #21:

score: 0
Accepted
time: 9ms
memory: 8220kb

input:

100002 40466
BBBBBBBCCBCBCCBCBBBBCCBBCBBBBBBBBBBCBBBBCBBBBBCBBBBBBBBBCBBBCBBBCCBCBCBBBBBBCBBBBBBBCBBBBBCBBBBCBCBCBBBBBBBBCBBBBBBBBCBCBBBBCBBBBBBBBBBBBBCBCBBCBBBBBBBBBBBCBBBBBBBCBCBCBCBBBBBBBBCBCBBBBBBBBCBBBBBBBBCBCCBBBCCBBCBBCBBBBBBBBBBCBBBCBBBBBBBBBBBBCBBCCBBCBBCBBBBCBBBBCBBBCCBBBCBBBBBBBCBBBBCBBBC...

output:

45728
1 3
2 3
100000 6
100001 6
99995 9
99996 9
99994 10
99995 10
99991 10
99992 10
99987 13
99988 13
99987 25
99988 25
99985 26
99986 26
99985 26
99986 26
99977 26
99978 26
99977 26
99978 26
99977 27
99978 27
99975 33
99976 33
99972 33
99973 33
99968 39
99969 39
99965 39
99966 39
99962 44
99963 44
...

result:

ok moves = 45728

Test #22:

score: 0
Accepted
time: 14ms
memory: 15848kb

input:

233338 159967
CCBCBBCCCCBBCCCCCCCCBCCCBCCCCBCCBCCCCCCCCCBCBCCBBCBBCCCCBCCCCCCCCCCCCCCCCCCCBCCBCCBBCBCCBBBCCBCCCCBBCCCBCCCCCCCCCCCBCCBCCCCCCCCBCCCBBCBCCCBCCCCCBCCBCCBCCCCCCCBCCCCCBCCBBCCCCCCCBCCCCCCCCBBBCCCCCCCCCCCCBBBCCCBBCCBCBCCCCCCCCCBCCCCBCCCCCCCCBBCCCCBCCCCBCCCBCCCBCCCCCBCCCCCBBCCCBCCCCCCCCCCCCC...

output:

103344
233338 1
1 1
233338 3
1 3
233333 4
233334 4
233328 5
233329 5
233324 6
233325 6
233320 21
233321 21
233316 25
233317 25
233313 27
233314 27
233301 29
233302 29
233301 29
233302 29
233297 34
233298 34
233297 34
233298 34
233293 37
233294 37
233289 41
233290 41
233288 43
233289 43
233282 45
233...

result:

ok moves = 103344

Test #23:

score: 0
Accepted
time: 36ms
memory: 21836kb

input:

300000 1
CCCBBBBBBCCBCCCBCBBBBCBCBCBBCBBBBCBCBCCBBCCBBCCBCBBCBBBBBBCBBBCBCBCCBBCBBCCCCCBCBCBBBBBBBBCBCBBBBCCCBCBBBCCBCBCBCBCBBCCBCBCCCBCBCBBCCBCCBBCBBBBCCBBCBCBBBBCCBBBBBBBCCBCCCBCBCCBBBBBCCBBBBCBCCBCBBCBBCBCCCBBBBBBBCCCCBBBBBBBBCBBBCCBCBBBBCCBBBCCBCBCCBCCBBCBBCCCCCBCBBBCCCCCCBCBBBCBBCCCCCCBCCCBBBCC...

output:

299752
299999 1
300000 1
299999 3
300000 3
299996 6
299997 6
299996 9
299997 9
299994 12
299995 12
299992 13
299993 13
299992 15
299993 15
299988 18
299989 18
299984 19
299985 19
299984 21
299985 21
299981 26
299982 26
299979 27
299980 27
299979 28
299980 28
299976 29
299977 29
299974 30
299975 30
2...

result:

ok moves = 299752

Test #24:

score: 0
Accepted
time: 35ms
memory: 26264kb

input:

300000 299999
BBCBCCBBBBCCBBBCBBBCCCBCBCBCCBBCCBBCCBBCCBBBBBCBBCBBBCBBBCCBBCBBBCCCCCCBBCCBCBCBCBBBCCBCBBCCCBBCCCCCBCBCCBBCBBCCBBCCBBBBCBBCBBCCBBCCCCCCCBCBCCCBBBCBBBCCCCBCBBCCCBBCBBBCBBBBCCCCCCBCCCCCCBCBBCBBCBCBCBCCCCBCCBCCCBBCCBBCCCCCBBCCBCCCCBBCBCBCBCCCCBBBCCBCBBBCCBBBCCBBCBCCBCCBCCCCBCCBBBCCBCCBCB...

output:

299728
299999 4
300000 4
299998 4
299999 4
299995 5
299996 5
299995 5
299996 5
299993 6
299994 6
299993 13
299994 13
299990 14
299991 14
299988 14
299989 14
299987 15
299988 15
299987 16
299988 16
299987 18
299988 18
299987 18
299988 18
299985 18
299986 18
299985 19
299986 19
299985 19
299986 19
299...

result:

ok moves = 299728

Test #25:

score: 0
Accepted
time: 37ms
memory: 21292kb

input:

299999 1
BBBCCBBCBCCCCBCCCBBBCCBBBBCBCBBCCCCBBCCCCCCBCBBCBBBCCCCCBCBBCCCCBCBCBCCBBCBCCCBCBCCCBBBBBCBCCBBCBCBBBCCBBCCBBCBBBCBCCBCBCCCBCCCCBBCBCBCBBBBCBCCCCBCCCBBCCBCCCBBBCCCCBCCCBBBBBBCCCBCBCBCBCCBCCBBCBBCCBBCBBCCBBBBCCCCBBCBBBCCCBBCBCCBBCCBBBCCBCCCBCCBBBBBCBCBBBCCBCCCBCBBBBBBBBCCBBCBBBCBCBBBCBCCCCCB...

output:

299916
299992 1
299993 1
299990 2
299991 2
299988 4
299989 4
299988 5
299989 5
299986 6
299987 6
299983 7
299984 7
299981 8
299982 8
299981 16
299982 16
299979 17
299980 17
299976 18
299977 18
299976 19
299977 19
299974 21
299975 21
299974 22
299975 22
299972 25
299973 25
299972 28
299973 28
299966 ...

result:

ok moves = 299916

Test #26:

score: 0
Accepted
time: 44ms
memory: 26276kb

input:

299999 299998
CBBCBBBCBCBBCBCCCCCBCCBBBCBCBCCCBBBBCCBBCBCCCBCBBCCBBBBCCBCBBCCCCBCBBCCBCCCCBCCBCBCCCBBCBBCCBBCCCBBBCCBBCBBBCCCBBCCBCCCCCBBCCCCCBBCCCCBCCBCCBBBCBCCCCBBCBBBCBBBCCCBCCBBCCCBBCBCBBCBCBBCBCCBBBCBBCCCBBCBBCBCCCCBBBBCCCBCCBCBBBCBCCBCBBBBBBBBBCBCBCBBBCCBCCBBBBCCCBBCCBCCBBCCCCBBBBCCCCBBCBCBCBC...

output:

299574
299998 1
299999 1
299995 1
299996 1
299994 5
299995 5
299993 6
299994 6
299993 6
299994 6
299992 6
299993 6
299990 8
299991 8
299990 8
299991 8
299990 9
299991 9
299990 10
299991 10
299989 10
299990 10
299988 13
299989 13
299987 16
299988 16
299987 16
299988 16
299987 16
299988 16
299986 16
2...

result:

ok moves = 299574

Test #27:

score: 0
Accepted
time: 32ms
memory: 21408kb

input:

300000 2
CCBBBBBBCCCBBCCCBBBCCBBCCBBBBBCBCBBBCCBBCBCCBBCBBBBCBCBBCCBCCCBCBCCBBCBBBCBCBCBBCCCCBBBCBCCCBCCBBBBCCCBCBBBBBCCCCCCBBBCCBBBBCCBBBBBCCCBCBCCCBCCBBCCBCBCBBBCBBCCCCCCBBBBCBBCCCCBCCBCCBCCBBCBBBCCBCCCCBCCBBCBBBCBCCBCCBBBBCBBCBBCBCCBCCCBBCCCCBBBCCBCBBCCBCBBCBBBBBCBBBCBBBBBBCCBBBBCCCBBBBBCCBBCCCBB...

output:

299994
300000 11
1 11
300000 14
1 14
300000 16
1 16
299994 19
299995 19
299991 19
299992 19
299990 21
299991 21
299989 24
299990 24
299986 24
299987 24
299981 26
299982 26
299981 26
299982 26
299981 32
299982 32
299976 32
299977 32
299975 36
299976 36
299974 36
299975 36
299971 38
299972 38
299970 4...

result:

ok moves = 299994

Test #28:

score: 0
Accepted
time: 34ms
memory: 26240kb

input:

300000 299998
BBBBBBBCBBBBBBCCCCBBCCCCBCCCCCCBCCBCCCBBCCBBCCCBBCBCCBCBBCCCBCCCBCCBCCCBCCBCBBBCBBCCCCBBCBCCCBCCBBCBCCBCBCCBBBCCBCCBBCBBBBBBCBBBCBBBCCCCCCBBCBCCCCCBBCBBCBCCCBBCBBCBBCCCCCCBBBBCBCCCCCCCCCBCCBCCBCBCCBCBCBBCBCBCCBBCCCCBCCCCCCCCCBCCCBBCCCBBCBBBBBBCBCCBCBCBBBBCCCBBCBBCBBBCBCBBCCCCBCCBBBBCBB...

output:

299714
300000 2
1 2
299999 2
300000 2
299996 2
299997 2
299995 2
299996 2
299994 2
299995 2
299994 5
299995 5
299991 5
299992 5
299990 6
299991 6
299989 6
299990 6
299989 9
299990 9
299989 10
299990 10
299986 10
299987 10
299985 10
299986 10
299985 12
299986 12
299985 14
299986 14
299984 15
299985 1...

result:

ok moves = 299714

Test #29:

score: 0
Accepted
time: 32ms
memory: 21524kb

input:

299999 2
CBCCCCBCBBCCBBBBCBCCBBBCBCCBCBCCBCBCBBCCBBBBCCCBBCBCBBCBCCCCBBBCCBCBBCCBBCBCCBBCBBCCBBCCBCCBBBCCCCBBCBBBCCBBBCCBBBCCCBBCBBCBCCCBCBCBBBCBCBBCCBCBCBBBBCCBCBCBBBBBCBCBBCBCBCCBCBCCBCCBBCBBBCBBBBCBCBBBCCBCBBCBBCCBCBCBCCBBBBCBCCBCBCCCCCBBBBBCBCCCCBBCCBBCCCCBBCBBBBBBCBCCBBCBCBCBBBCCCBCCBBBBCCBBCBB...

output:

299818
299999 1
1 1
299998 3
299999 3
299997 3
299998 3
299993 7
299994 7
299993 10
299994 10
299993 12
299994 12
299987 12
299988 12
299987 14
299988 14
299987 14
299988 14
299982 16
299983 16
299981 16
299982 16
299977 20
299978 20
299974 22
299975 22
299973 26
299974 26
299970 28
299971 28
299969...

result:

ok moves = 299818

Test #30:

score: 0
Accepted
time: 43ms
memory: 26144kb

input:

299999 299997
CBBBCBCBBBBBCBBCCCCBBCBCBBCBCBBBCCBBBBCCCBBCBBCBCBCCCBBCBBBBCCBCCBBBBBCBCBCBBBBBCBBCCBBBBBCCBCCCCCBCBBBBCCCBBCCCBCCBBCCBBCCBBBBCCBCBBBBCCBCBCCBBCBBBCBCBBCBBCCCCCCCCBCBCCCBCCCCCBCCCCCCCCBBBCCBCCBBCCCCBCCCBBBCBCCCCCCBCBCCBBCBBBCBBCBCBCCBCBCBBBBBBBBCCCBCCBCBCCCCBCCBBBCBCCCBCBCCBCCCBCBBCCC...

output:

299540
1 1
2 1
1 2
2 2
299999 2
1 2
299997 2
299998 2
299997 3
299998 3
299997 3
299998 3
299995 3
299996 3
299995 3
299996 3
299993 4
299994 4
299987 6
299988 6
299986 7
299987 7
299986 9
299987 9
299985 10
299986 10
299979 10
299980 10
299978 12
299979 12
299977 14
299978 14
299977 19
299978 19
29...

result:

ok moves = 299540

Test #31:

score: 0
Accepted
time: 27ms
memory: 21360kb

input:

300000 3
BBBCBBCBCBBBCBCBBBCCBCCBBBCCBCCBCBCCCCBBBBCBBCCBBBCCBCCBCBCBBBBBBBBCCCBCBBCBBCBBCBBBBCBCCBBBBBCCBBBBCBCBBCCCBBBCBBCCBBBCCCBBCBBBCBBCBCBCBCBCBBCBBCCBBBCCBCBBCCCCBBCBCBCCCCBCCCCBBCCBCCCCBCBBBCBBBCBCCBBCCCCCBCBCCBBBCBBBCCCBCCCCBCCCCCBBCCCBBBBBBBCCBCBCBCCCCCCBBBCCCCCCBCBCCBBBCBCCBBCCCCBCCBCCBCC...

output:

299680
300000 5
1 5
300000 8
1 8
300000 8
1 8
299995 11
299996 11
299989 11
299990 11
299989 16
299990 16
299989 16
299990 16
299989 19
299990 19
299981 19
299982 19
299981 22
299982 22
299976 22
299977 22
299976 25
299977 25
299976 26
299977 26
299976 30
299977 30
299971 31
299972 31
299969 36
2999...

result:

ok moves = 299680

Test #32:

score: 0
Accepted
time: 23ms
memory: 26336kb

input:

300000 299997
CCCBCBBCCBCCCBCCCCCBBBCBCBBBCBCBBCBCBBBBCCBBCCBCBBCBBCBBCCCBBCBCCCCBCCCBCCCBBCCBCCCCBBBCBBCBBBCBBCBCCBCBBBBCCCCBCCCBBCBCCBCBCCBCCBCCBCBCCBCCCCBBCCCCBBCCBBCBBCBBBBBBBBBBBCCBCBBCCCBBCCBBCBBBBCBCCBBCCCCBBCBBCCBCBBBCBCCBBBCBBBCCBCBCCCBCCBBBBBBCBCBCBCCBBBBBBBCBCCBBCBCBCCCCCCBBCCBBBBCCBCCCCB...

output:

299862
1 1
2 1
299999 2
300000 2
299994 5
299995 5
299984 5
299985 5
299984 6
299985 6
299984 12
299985 12
299983 12
299984 12
299982 12
299983 12
299980 13
299981 13
299979 16
299980 16
299978 16
299979 16
299976 22
299977 22
299976 25
299977 25
299975 25
299976 25
299973 27
299974 27
299970 28
299...

result:

ok moves = 299862

Test #33:

score: 0
Accepted
time: 27ms
memory: 23324kb

input:

299999 3
BCBBBCBCCCBCCCBBBBCBBBBBCCBCCCCBCBBBBBBCBBCBCBCBBBBBBCBBBCCCBCBBBBBCCCBCBCBBBBBBBCBBBBBBCBCBBBCCCBCCBCCBCCBBBCCCBCCCBBBBCBCCBBCCCCBCBBBCBCCCBBCBBBBCCCCBCCCCBBBBCCCCCCBBBCCCBBBBCCBBCCBCBCCBBCBBCBBCBCBBBBBCCBBBBBCBBBCCBBBBCCCBBCBBCBBCBCBBCCBBCBBBCBCBCCCBBBBCBBBBBCBBCBBCCCCCCBCCCCBCBBBBBCCCBBC...

output:

299648
299998 4
299999 4
299997 4
299998 4
299990 7
299991 7
299984 7
299985 7
299984 10
299985 10
299983 10
299984 10
299979 13
299980 13
299979 14
299980 14
299978 15
299979 15
299974 16
299975 16
299974 19
299975 19
299974 19
299975 19
299970 19
299971 19
299970 23
299971 23
299969 23
299970 23
2...

result:

ok moves = 299648

Test #34:

score: 0
Accepted
time: 44ms
memory: 28068kb

input:

299999 299996
CBBCBCCCBBBCBCBBCBBBBBCBBCCBBCBBCCCBCCBCBCBBCBCCBBCBBBCCCBCBBBBCBCCBCCCCBBCCCCBCBBCBBBBCBBCBCCBBBBCBCCBBBCBBCBBCCCBBCBCCCBCBCCBCBCCBBCBCBCBBBBBCCCBBBBBCCBCBBCCBCBCBBCCCCCCBBCCBBBBBBBCCBCBCBBCBCCBCBBCBBCBCCBBCCBCBCBCBBBBBBBCCBCCBCBCCBBCCBBCBBBBCBBCCBBCCCCBCCBBBBCBCCBBBBCCCCCBCCCBCCBCBCC...

output:

299968
299999 1
1 1
299998 2
299999 2
299997 2
299998 2
299994 2
299995 2
299994 4
299995 4
299994 4
299995 4
299992 5
299993 5
299990 6
299991 6
299989 7
299990 7
299989 7
299990 7
299989 7
299990 7
299986 10
299987 10
299986 10
299987 10
299986 10
299987 10
299986 12
299987 12
299984 13
299985 13
...

result:

ok moves = 299968

Test #35:

score: 0
Accepted
time: 27ms
memory: 23060kb

input:

300000 4
CBBBBBCBCCBBBCBCBBCBCBBBCBBBCBBCCCBBCBCCCCBBBBCCCBBCBBCCBBCBBCBBCBBBBBCCBBBCBBBCBBCBBBBBBCCCBCCCCBBBBBBBCBBBCBCBCCCBBBCBCCCCBBBBBCBCBCCBCCCCBCCCBBBCCCBBBCCCCBCBCBBBBBCBBCBBBBCCCBCBBCCBBCBCBCCBCBBBBCCBCCBCBCBCBBBCCCBBCBBCCCBBBCCBBBBBCCCCCCCBBBCBCCCCBCBBBCCCBBBCBBCCBCBCBCBCBCCCBCCCCBCCBCCCBBB...

output:

299674
1 2
2 2
1 2
2 2
1 2
2 2
1 7
2 7
299996 8
299997 8
299996 17
299997 17
299995 18
299996 18
299992 18
299993 18
299990 22
299991 22
299990 22
299991 22
299988 23
299989 23
299985 25
299986 25
299984 26
299985 26
299983 30
299984 30
299978 30
299979 30
299977 41
299978 41
299977 41
299978 41
299...

result:

ok moves = 299674

Test #36:

score: 0
Accepted
time: 35ms
memory: 27592kb

input:

300000 299996
CBCBCBBCCCCBBCBBCBBBCCCBBCCCCBBCBCCBBCCCCBCBBCCBBBCCCBCBCCCCCCBCCBCBBBBBCBCCBBCCCCCBBBBBCBBCCBBCCCCBBBCBBCCBCBCBBBCCCBCBCCBBBBCCCBCCBCBCBBBCBCCCBBCCBCCCBCBBCCCCCCBBBCCBCBCBBCBBBBCBBBCBBCBBBCCBBBCBCCCCBBCBCCCBBCBCBBCCCCBBCCBBCCBBBCCCBCBBCBBCCCCCBCBCCCBCCCCCCBCBBCBCBCBCBCCBCBBBCBCCCBBBCC...

output:

299466
300000 2
1 2
299998 2
299999 2
299997 3
299998 3
299996 3
299997 3
299990 3
299991 3
299989 4
299990 4
299989 4
299990 4
299989 4
299990 4
299987 7
299988 7
299987 10
299988 10
299987 10
299988 10
299987 10
299988 10
299980 10
299981 10
299977 10
299978 10
299977 10
299978 10
299976 14
299977...

result:

ok moves = 299466

Test #37:

score: 0
Accepted
time: 35ms
memory: 23184kb

input:

299999 4
BBBCCBBBBCCCBCCCBCCCCBBBBBCBCCCBCBCBCCCBBBBBBBCBBBBCBBBBCBCCBCCCCCCBCCBBBCCCCCBBBCBCCBBBCBCBBCBCBCBCBBCBCBBBCBCBBBCCCCBCBBCCCBBBBCBBBBBBBBCCBCCBBCBBCCCCBCBCBBCBBCBBCBCBBBCCCCCCBBBBBBCBCBCCCCCCBBCBBCBBBCCBBBBBBBCBBBBBBCBCCBCBCCCCBBCCCCBBBBCCBCBBCCBCCCBCBCBBCCCCBBCBBBCBCBCCBBCBCBCCCCCBBCBCCCC...

output:

299540
1 1
2 1
1 1
2 1
299995 2
299996 2
299994 6
299995 6
299994 6
299995 6
299994 7
299995 7
299986 11
299987 11
299984 12
299985 12
299984 17
299985 17
299983 17
299984 17
299978 21
299979 21
299977 21
299978 21
299972 21
299973 21
299969 21
299970 21
299967 31
299968 31
299967 32
299968 32
29996...

result:

ok moves = 299540

Test #38:

score: 0
Accepted
time: 37ms
memory: 26292kb

input:

299999 299995
BBBBCCCBBBBBBBBCCBCBCBBBBCCCCBBCCCBBBBBCBBBCBBBCCBBCCCCBCBCBCCCCBBCBBCCBBBCBBBCBBBBBBBBCCBBCBBBBBBBCCCBCCBBBCBCBCCBBCBBCBCBBBBCBCBBCBCBCBBCCCBCCBCBCCBBBCBBCBCCBBCBCBBBBCCBCBCBCCCCBCCCBCBCCBCCCCBBBBBBCBCBCBCBCCBCBBBCCBBBCCBCBCCCBBBBBCCCBCCBCBCBCCCCBBCCCBBBBBCBBCCBBCBCCBBCCBBBBBBBCCCBCBC...

output:

299896
1 1
2 1
1 1
2 1
1 3
2 3
299999 4
1 4
299997 4
299998 4
299996 5
299997 5
299995 7
299996 7
299994 7
299995 7
299993 7
299994 7
299991 12
299992 12
299991 17
299992 17
299989 17
299990 17
299989 18
299990 18
299989 18
299990 18
299989 18
299990 18
299987 19
299988 19
299985 20
299986 20
299984...

result:

ok moves = 299896

Test #39:

score: 0
Accepted
time: 31ms
memory: 21488kb

input:

300000 3210
CCBBCBBCCBBBBCBBCBBCCCBCCCBBBBBCBBCBBCBCBCCBBCBBBCCCCCBBCCCCCCCCBBCBBBBBCCCBBCBBBBCCBBBCCCCBBBBBBCBBBCBBCCBBCCCBCBCCCCCCBCBBBCBCBBBCCCBCBCCCCBCBBCCBBBBBCBBBBCBBCBBCCCBCCBCCCBBCCBCCCCCCCCBCCBBCBBBBBBCBBBBBCBBCBCCBBBCBBCBCCBBBCCCCBCCBBBBBCBCBBCBBBBBBBBBCCCCBCBCCBCCCCCBBBCBBBCCBBCCCCCBBBCBC...

output:

299636
1 7
2 7
1 11
2 11
300000 11
1 11
299999 11
300000 11
299996 12
299997 12
299995 12
299996 12
299991 12
299992 12
299990 15
299991 15
299987 15
299988 15
299986 15
299987 15
299986 16
299987 16
299986 16
299987 16
299984 16
299985 16
299978 17
299979 17
299976 17
299977 17
299973 18
299974 18
...

result:

ok moves = 299636

Test #40:

score: 0
Accepted
time: 34ms
memory: 26420kb

input:

300000 296790
BBCCBBCBCBBCCCCBBBCBBBCCCBBCCCCBCCCCBCCCBBCCBCBBBBBBBBCBCBCBCBCCBCBBCBBBBCBCBCCCCBBBBCCBCCBCCCCCCCCBBCBCBCBCCCBCCBCCBCBCBCCBCCBCBBBCCCCCBBBCCBCCCBBBBBCCBBCCBBCCCBCBBCBCCCBCBBCCBCBCCCCBCBBCBBBBCCCCBBCCBCCCBCBCBBBCBBCBBCBBBBBBCCCBBBCCBCCBBCCCCBBBCBBBCBCBCBBCBCBBBBCCCCBCBBCCBBBCBCBCCBBCBB...

output:

299960
1 3
2 3
1 5
2 5
300000 5
1 5
299997 6
299998 6
299997 7
299998 7
299997 8
299998 8
299997 8
299998 8
299997 10
299998 10
299996 12
299997 12
299994 16
299995 16
299993 17
299994 17
299993 19
299994 19
299993 19
299994 19
299992 21
299993 21
299992 22
299993 22
299991 24
299992 24
299991 25
29...

result:

ok moves = 299960

Test #41:

score: 0
Accepted
time: 39ms
memory: 21644kb

input:

299999 3210
CBCBCBBCCCBBBBCCBCBCCCBBCBBCBBCBCCCCBCBCCCCBBBCBBBBCBCBCCBCBBBCBCBBCCBCCBBCCCCBCCBCCBBBBCBCCCBBBBCCBCCCCBCBCBBCCBBBBCCBBCCBBCBCBCCBCBCBBCCBCCCCCBCBBBBBBCBCCCCBCBBCCCCCCBBCCCCCBCBCBBCBCCBBCCBCCBBBBCBBCCCCCCBBCBBCCCCCBCCBBBBBBCBCCCCBCBBCBCBBBBBCCCCCBBBBCCCBCBBBBBCBCBBCBBBBBBCCCCCBBBBCCCBBB...

output:

299944
299997 1
299998 1
299997 4
299998 4
299997 4
299998 4
299996 4
299997 4
299995 4
299996 4
299995 4
299996 4
299995 4
299996 4
299992 5
299993 5
299992 5
299993 5
299992 6
299993 6
299992 6
299993 6
299992 6
299993 6
299991 7
299992 7
299991 8
299992 8
299991 8
299992 8
299991 11
299992 11
299...

result:

ok moves = 299944

Test #42:

score: 0
Accepted
time: 37ms
memory: 26420kb

input:

299999 296789
CCCBBCCCCCCCBCBCBBCBBCCBBCBBCBCCBBBCCBBCCBBCCBCBCCBBCBBBCBCBCCBBCBCBCCBBBCBCBCBBBCCCBCBBCBBBCBBCBBBBBCBBCCBCCCCCCCCBBCCCCCCCBCCBBBBCCBBBCBCBBCCBCCCCBCCCCCCBCCBBBBBCCBBBBCBBBCBBCCBCCCCCCBCCBBCBBCBBCCCBBBCBBBCBCBBBBBCBCBBCCBCBBCBBBCCBCBBCBBBCBCBBBBBCCBBBBCCCCCBCBBBBCBCCCCBBBCCBBBCCCCCCBB...

output:

299914
299999 1
1 1
299998 1
299999 1
299997 3
299998 3
299997 7
299998 7
299996 8
299997 8
299996 8
299997 8
299992 9
299993 9
299990 13
299991 13
299989 13
299990 13
299984 13
299985 13
299983 16
299984 16
299983 19
299984 19
299981 23
299982 23
299979 23
299980 23
299978 23
299979 23
299978 23
29...

result:

ok moves = 299914

Test #43:

score: 0
Accepted
time: 37ms
memory: 22968kb

input:

300000 98765
BBCBBCCBCBBBBCBCCCBBCBCBCCBCBBBBBCCBCBCBCCBCCCCCBCCCBCBBBBCCBCCBCCBBBCCBCCCCBBBCBCCCCCBCBCCCBBBCCBBBBCCCCBBBCBBBBBCBBCBCCCBCCBCCCCBBCBBBBBCCCBBBCCCBBBBBCCCBBBBBBBBCCCCCCBCBBBBBCBCBBCCBCBBCCBCBCCCBBCCBBBBCBCCBCBCBCCCCCBCBBCBCBBCBBBBBBBCCBBBCCBCCBCBCBBCCCCBCBBBBCBBCBCBCBBBBBBBBCCCBBBBCCCB...

output:

299684
1 2
2 2
299999 3
300000 3
299998 3
299999 3
299992 6
299993 6
299991 6
299992 6
299991 8
299992 8
299991 9
299992 9
299991 10
299992 10
299990 12
299991 12
299989 12
299990 12
299989 15
299990 15
299989 15
299990 15
299987 15
299988 15
299987 18
299988 18
299987 21
299988 21
299986 21
299987 ...

result:

ok moves = 299684

Test #44:

score: 0
Accepted
time: 26ms
memory: 24696kb

input:

300000 201235
BBCCCBBBBCCCCCBBBBBBCCBBBBCCCBBBBCBBBCBBBBCBCBBBCCCBBCBCCBCBCBBBCBBBCCCCBBCCBBBCBBCBCCCCBBCBCCCBBCCCCCCBCBBCCCBCCBBBBCBBBCCCCBBCCBBCCCCBCCCBCBBBCCCBBCBBCCCBCBBCBCBCCBBBBBBCBCCCBBBCBCBBBBBBBCCCBCCCBBCBBBCCBCBBCBBCCBCCBBCBBBBCBBBBBBCBCBBCCBCCBCCCBCCBBCBBCCCCCBBCCCBCBCBCCCCBCBBCBCBCBCCCBB...

output:

299440
300000 1
1 1
299999 1
300000 1
299997 2
299998 2
299996 4
299997 4
299996 6
299997 6
299993 6
299994 6
299990 6
299991 6
299989 7
299990 7
299988 7
299989 7
299988 8
299989 8
299985 9
299986 9
299984 9
299985 9
299983 10
299984 10
299981 10
299982 10
299981 10
299982 10
299980 10
299981 10
29...

result:

ok moves = 299440

Test #45:

score: 0
Accepted
time: 32ms
memory: 23056kb

input:

299999 98765
CCBBCCBCBCBCBCCBBBCBCBBCCBBCBCCCBCBBCBBBCBCBCBCBBCBCCBCBBCCCBBBCCCBBCBBCCBBCBBBBCCBBBBBBBCCCCCBBBCBCCCCBCBBCBBBCBBCBCBCBCBBCCBCCCBCBCBCBBCBBCBBBCCCCCCBBCCBBBBCCBCCBBBCBCCBBCCBCCBBBBCBBBCCCCCCCCBCBCCCCCCBCCCBBCBBCBCCCBCCCCCCBBCBCBCCBBBBCBBCBBBCCCBCCCBCBCBBCBCCCBBBCBCBBCCCCCCCBBBCCCBCBCCC...

output:

299904
299999 1
1 1
299991 3
299992 3
299989 9
299990 9
299989 9
299990 9
299989 10
299990 10
299989 13
299990 13
299989 13
299990 13
299988 19
299989 19
299988 19
299989 19
299988 19
299989 19
299988 19
299989 19
299987 23
299988 23
299987 23
299988 23
299987 23
299988 23
299986 23
299987 23
299985...

result:

ok moves = 299904

Test #46:

score: 0
Accepted
time: 33ms
memory: 24880kb

input:

299999 201234
CCBBCCCBCBCBCBBBCCBCBCCBCCCCCCBCBCBBBBCBCCCBCBBCCCBBBBCBBBCBCBBBCCBCCCCCCBCCBCBCBCBCBBBCCBCBCCCBBBCBCBCBBBBBBCBBBCBCBBCBBCCBBBBCBCCBBBBCCCCCCCCCCBBBCCBCCBCCBBCBCBBCBBBBCCCBBBBCBCCBCCBBCCCBCCCBBBCCCBCCBCBBBBCCCBBCCCBCCCCBBBCBCCBCCCCCBCBBCCCCBBCBCBCCBCBBBBBCCBBCCBBCBBCCBCCBBCCBCBCCBBBBBB...

output:

299526
299997 1
299998 1
299994 1
299995 1
299993 3
299994 3
299993 4
299994 4
299990 6
299991 6
299986 9
299987 9
299984 9
299985 9
299984 9
299985 9
299981 10
299982 10
299977 10
299978 10
299972 12
299973 12
299971 12
299972 12
299969 12
299970 12
299968 12
299969 12
299968 12
299969 12
299968 13...

result:

ok moves = 299526

Test #47:

score: 0
Accepted
time: 40ms
memory: 23752kb

input:

300000 150000
CBBBBCCBCBBBBCBBBCBCBCBBCBBBBCBBCCBCCCBBBBCBCBBBBBBCCCCCCBCBBCCBCBCBBCBCBBBBBBCBCBBBBCCBCCCBBCCCBBCCCBBBBCCCCCBCCBCBBCCCCBCBBBBBBBBBBBBBBBCBBBCBBBBCBBBCCCBCBCCBBBCBBCCCCCCBBBCBBCBCBCBBCBCCCCBCCCCCCCCCBCCCBCBBBBBBBCBBCBBBBBBCCBBBBCCCCCCBBBCCCCCBCBCBBCBBCBCBCBBBCBBCCCBCCBCCBCBCBCBBBBBCBC...

output:

299434
300000 3
1 3
299997 6
299998 6
299996 6
299997 6
299994 10
299995 10
299994 10
299995 10
299992 11
299993 11
299987 11
299988 11
299987 12
299988 12
299987 12
299988 12
299987 19
299988 19
299986 19
299987 19
299986 19
299987 19
299985 19
299986 19
299985 19
299986 19
299985 19
299986 19
2999...

result:

ok moves = 299434

Test #48:

score: 0
Accepted
time: 32ms
memory: 23824kb

input:

300000 150000
BCCCCCCBCBBCCBBBBCBCCBCBCBCBCCCBCBCBBBCCCBCBBBCBBBBBBCBCBCCCBCCCBCCBBBBBCBCCCBCBCCCBCCBBCCBBBCBBBCBBCBCCBBBCBCCCBCBBCBCCCCBCCCCCBBCBCBCBBBCCBBCCBCCBCBBCCBBCCBBBBCCCBBCCBBBBBCCBCCBBBBBCBBCCBCCBBBCBBBBBBCCBBCCBBCBCBCCCBCBCCCBCBCBCBCCCBCCCCCBCCCCCBBBBBCCCCCBCBCCBCBBCCCCCBCBBCCBCBCBBCCBBCB...

output:

299902
299998 1
299999 1
299998 1
299999 1
299998 1
299999 1
299997 3
299998 3
299996 3
299997 3
299996 4
299997 4
299995 6
299996 6
299995 6
299996 6
299993 7
299994 7
299992 7
299993 7
299991 9
299992 9
299990 9
299991 9
299990 9
299991 9
299989 9
299990 9
299989 10
299990 10
299987 11
299988 11
2...

result:

ok moves = 299902

Test #49:

score: 0
Accepted
time: 32ms
memory: 23928kb

input:

299999 150000
BCBCBBBBCCBCCCCCBCCBCBBCCBCBBBBBCBBBBCBBBCCCBCBBBBBBBBCCCBCCCBBCBBBCCCBBCBBCBBBCCBBCCBCCBBBCBBBCBBBBCCCCBBBBBCCCBCCBCBBBCBCCBCBCBCBBBCBCCCBBCCCCBCBBCCBBCCBCBCCBCCCCBCCCBCCBCCBBBCBCBCCBBCCBBCBBCCCCBCBBCCBCCBBBCBCBBBCCBCCCBBBBCBCBBCBBBCBCBBCCBCCBCCCBCCBCBCBCCBCBCCCBCCBBBCBBBCCBBCCBCBBCBC...

output:

299908
299998 1
299999 1
299997 1
299998 1
299994 4
299995 4
299994 5
299995 5
299993 5
299994 5
299993 5
299994 5
299991 6
299992 6
299990 6
299991 6
299990 6
299991 6
299988 13
299989 13
299987 13
299988 13
299986 16
299987 16
299986 19
299987 19
299985 19
299986 19
299985 19
299986 19
299985 21
2...

result:

ok moves = 299908

Test #50:

score: 0
Accepted
time: 33ms
memory: 23764kb

input:

299999 149999
CCCCBBBCBCBCCCBBCBBBCCCBBBBCCCBCBBCBBBBCCCCBBBCBBCCBCCCCCCCCBCCCBCBBCBBCBCBCCCCCCCBBBBBCBBCBCBCBBCCCBCBCCBBCBBBCCCCCBBBCCCBBCBBBBCCBCBBCBCCBCBCCBBCBBCBBCCBCCBBCCBBBCCCBCCCBCCCBBCCCCCBCBBCCCBCBCCBBBCCBCCCCBBCCBCCCCBCCCBBCBCCBBBCCCBCCBCCCCCCCBCCBBBCBBCCBBBCCBCBCBCBCCCBCBBCCBCBCBBCCCBCCCC...

output:

299948
299999 1
1 1
299997 2
299998 2
299997 5
299998 5
299996 5
299997 5
299995 5
299996 5
299995 5
299996 5
299995 6
299996 6
299995 6
299996 6
299993 9
299994 9
299991 9
299992 9
299989 9
299990 9
299989 13
299990 13
299989 13
299990 13
299989 16
299990 16
299989 17
299990 17
299988 18
299989 18
...

result:

ok moves = 299948

Test #51:

score: 0
Accepted
time: 29ms
memory: 23756kb

input:

300000 150001
CBBCCCBBCBBBCCCCBCCCBBBCBBCBCCBBCBCCBCBCCBBBCBCBBBBCCBCBBCCBCCBBCBCCCCCCCCBBCCCCBBCBBCCBBCBBCBBCBBCBBCBBBCBBBBCBBBBCBBBBBCBCBBBCBBCCCBBBBCCBBBBCCBBBCBBCCBCBCBCBBBBBBCCBBCCCCCBBBCBCBBCCBCCCCBBBCBBBBCCCCCCCBBCCCCBBCBBCCBBBCBBCBCCCCBBCBCCBBCBCCBCBBCCBBBCBCCCCBBBBCBBBBBBBBBCCCBBBBCBBBCCBCC...

output:

299890
1 1
2 1
1 2
2 2
1 2
2 2
300000 5
1 5
300000 5
1 5
300000 7
1 7
299993 7
299994 7
299993 7
299994 7
299991 8
299992 8
299991 8
299992 8
299991 10
299992 10
299985 10
299986 10
299985 11
299986 11
299983 12
299984 12
299983 12
299984 12
299981 14
299982 14
299980 19
299981 19
299978 21
299979 2...

result:

ok moves = 299890

Test #52:

score: 0
Accepted
time: 31ms
memory: 24016kb

input:

300000 149999
BBBBCBBCCCBCCBBCBCCCCBBCCBBCBCBBBCCBCCBCCCBBBBCBCCCCBCCBBCCCCCCBCCCBBBCCCBCCCBCCCBCCBCBCCCCBBCCCBBCBCBBBCBCBBBBBBCBCCBCBCCCBBBBBBCCBCCBCCBBBCBCBBBBBCCBBBCCCBBBBBBBBCCCBCCCBCCBBCBCBCCBCCBCCBCBBBCCCCBCCCBCBBBCCBBCBCBBCCBCCBBCBCCBBBBCCCCBCBBCCCCBBBBCCBCCCCBCCCCBBCBBBBBCCBCBCCCBCBCCBCBCCCC...

output:

299656
1 1
2 1
299999 3
300000 3
299999 5
300000 5
299999 6
300000 6
299998 9
299999 9
299998 16
299999 16
299997 16
299998 16
299997 20
299998 20
299996 22
299997 22
299994 24
299995 24
299993 24
299994 24
299993 26
299994 26
299993 32
299994 32
299993 32
299994 32
299993 32
299994 32
299991 34
299...

result:

ok moves = 299656

Test #53:

score: 0
Accepted
time: 36ms
memory: 23828kb

input:

299999 150001
BCBCBCBBCBCBBCBCCCCCBCBCBBBCCCBCBCBCBCCBCCBBBCCBCCCCBCCBCCBBCBCBBCBCBCBBBBBCCBBBBCCBCBCBCCBBCBCCCBCBBCBCBBCBBBBCBBBCBBCBBBBCCBCBCCBCBCCBBCBCBCBBBCBBCCBBBCBBBBBCCCBBCBBBCBBBBCCBBCBCCBBCCBCBBCBBCBBBBBCBCBCBBBBBBBBCCBCBCCBBBBCBBCBBBCCCCCBBCBBBBCCCBCBCBCBCBCBCCCBBCBBCCBCCBCBCBBBBBBCCBCBBBC...

output:

299792
1 2
2 2
1 2
2 2
1 4
2 4
299999 6
1 6
299999 8
1 8
299999 8
1 8
299999 8
1 8
299998 8
299999 8
299998 11
299999 11
299997 12
299998 12
299997 13
299998 13
299996 15
299997 15
299995 20
299996 20
299993 20
299994 20
299992 20
299993 20
299992 20
299993 20
299990 22
299991 22
299988 23
299989 23...

result:

ok moves = 299792

Test #54:

score: 0
Accepted
time: 30ms
memory: 23772kb

input:

299999 149998
CBCCBCBCBCCBCCCCCBBCBCBCCCBCCCBBCBCBCCBBCBBCBBBCBBCCBCCBBCBBBBCCCBBCCBCBBBBBBBCBCCBBBCBBCCCCBBCBBCBCBCCBBCCCBCCCBBBCCBCBCBCBBBCBCCBBBCBCBCBCCCBCCBCCCBCCCCBCCBBCBBCBCCCCCBBCCCBBCBBCBBBCCBBCBCBCCBCBBCCBBBBBBBBBCCCBCCBBCCCCBBCBCCBCCCCCBBCCBCBCCBCCBCCBCBBBCBCCCCBBBBCBBBCBBCBBCCCBCBCBCBBBCB...

output:

299972
299999 1
1 1
299998 2
299999 2
299997 2
299998 2
299996 2
299997 2
299996 2
299997 2
299996 2
299997 2
299996 3
299997 3
299996 4
299997 4
299996 5
299997 5
299995 5
299996 5
299995 5
299996 5
299991 6
299992 6
299991 7
299992 7
299990 11
299991 11
299990 11
299991 11
299989 16
299990 16
2999...

result:

ok moves = 299972

Test #55:

score: 0
Accepted
time: 19ms
memory: 19220kb

input:

262143 194294
CBBBCCCBCBBBCBBCBCBCBCCBCCCBCBCCCBCCCCBCBBBCCCCBCCCCBBBBCBBCBCCBCBCCCBCCCBCCCBBBBCCCCCCCCBBCCBBCBCBBBBCBCCBBBBCCCBCBCBCCBCCCBCBCBCBBBBBBBCBBCCCCBBCCBCBCBBCBCCCBCBBBCCBBBBCBCCBCCCCCBCBBBBCBBBBBBBBBBBCBBCBCBCBBCCBCCBBCBCCCBBBBCCBCCBBBBCBCCCBBBCBCBCCCBCCBBBCCBBCBCCBBBCCBBCCCBCCCBCBBBCCCBC...

output:

262120
1 7
2 7
1 8
2 8
1 8
2 8
1 8
2 8
262143 8
1 8
262142 9
262143 9
262142 11
262143 11
262141 13
262142 13
262140 13
262141 13
262140 13
262141 13
262140 14
262141 14
262140 14
262141 14
262136 14
262137 14
262133 15
262134 15
262130 16
262131 16
262127 16
262128 16
262127 16
262128 16
262127 16
...

result:

ok moves = 262120

Test #56:

score: 0
Accepted
time: 34ms
memory: 18464kb

input:

262144 149222
BBCCBCCCCCBCCCCCBCCBCBBCBCBCBBCCCCCBBBBBBBCCCBBBCCCCCBCBBCBCBCCCCCBCBBBBBBBCCCCBCBCBCBBBBBCBBBBCCBCCCBCCBCBCCCBBBCCCCCCBCCBBBCCBCBBBBCCCBBBCBCBBCBCCBCBCBBBCCBBCBBCBCCCCBCCCCBBCCCBCBCBCBBBCCCBCCBCCCCBCCCBCBCCBBBCBCBBCBCCBBCBBBBBBBBBBCBCBBBBCCCBCBCCCBBBBCCCBBBBCBBBCBCCCBBBCBCBBCBCBCCCCBC...

output:

261936
1 1
2 1
1 1
2 1
1 2
2 2
262141 2
262142 2
262140 2
262141 2
262139 4
262140 4
262139 4
262140 4
262139 5
262140 5
262136 6
262137 6
262134 7
262135 7
262133 7
262134 7
262133 7
262134 7
262132 11
262133 11
262132 11
262133 11
262128 11
262129 11
262128 11
262129 11
262125 11
262126 11
262125 ...

result:

ok moves = 261936

Test #57:

score: 0
Accepted
time: 30ms
memory: 18080kb

input:

262145 120549
BCBCBCCBCBBBBBCBBBCBCBCCCBBCCCCCCCCBCCCCCBBCCBCBBBBCCCBCBBCBBCCCCBCCCCBBBBCCBCBCBBBBCBBCBCBCBCCCBBCBBCCCBCCBBCCCBBCBCCCCCBCCCBCBCCBBCCBCCCBCBCCCCCBCBCBCBBCBCCCCBCBBCCBCCBCCCBBCBCBBBBCCCCCBBCBCCBBBBCCCCCCCBCBBCCCBBCCBBBBCCBBCBBCBBBCBCCBBBBBBBBBBBBBCBBCBBCBCCBBBBBBCBBBBBBBCBBCCCBBBBBCBCB...

output:

261964
262141 7
262142 7
262140 8
262141 8
262139 8
262140 8
262139 8
262140 8
262138 10
262139 10
262138 12
262139 12
262136 13
262137 13
262136 15
262137 15
262133 18
262134 18
262133 18
262134 18
262132 18
262133 18
262126 19
262127 19
262126 19
262127 19
262125 20
262126 20
262125 20
262126 20
2...

result:

ok moves = 261964

Test #58:

score: 0
Accepted
time: 31ms
memory: 25776kb

input:

299997 265881
CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB...

output:

299996
1 2
2 2
299997 3
1 3
299996 4
299997 4
299995 5
299996 5
299994 6
299995 6
299993 7
299994 7
299992 8
299993 8
299991 9
299992 9
299990 10
299991 10
299989 11
299990 11
299988 12
299989 12
299987 13
299988 13
299986 14
299987 14
299985 15
299986 15
299984 16
299985 16
299983 17
299984 17
2999...

result:

ok moves = 299996

Test #59:

score: 0
Accepted
time: 29ms
memory: 22540kb

input:

299998 76325
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB...

output:

299998
299998 2
1 2
299997 3
299998 3
299996 4
299997 4
299995 5
299996 5
299994 6
299995 6
299993 7
299994 7
299992 8
299993 8
299991 9
299992 9
299990 10
299991 10
299989 11
299990 11
299988 12
299989 12
299987 13
299988 13
299986 14
299987 14
299985 15
299986 15
299984 16
299985 16
299983 17
2999...

result:

ok moves = 299998

Test #60:

score: 0
Accepted
time: 38ms
memory: 25092kb

input:

299999 236065
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC...

output:

299998
299999 1
1 1
299998 2
299999 2
299997 3
299998 3
299996 4
299997 4
299995 5
299996 5
299994 6
299995 6
299993 7
299994 7
299992 8
299993 8
299991 9
299992 9
299990 10
299991 10
299989 11
299990 11
299988 12
299989 12
299987 13
299988 13
299986 14
299987 14
299985 15
299986 15
299984 16
299985...

result:

ok moves = 299998

Test #61:

score: 0
Accepted
time: 31ms
memory: 22112kb

input:

300000 46255
CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC...

output:

300000
1 2
2 2
300000 3
1 3
299999 4
300000 4
299998 5
299999 5
299997 6
299998 6
299996 7
299997 7
299995 8
299996 8
299994 9
299995 9
299993 10
299994 10
299992 11
299993 11
299991 12
299992 12
299990 13
299991 13
299989 14
299990 14
299988 15
299989 15
299987 16
299988 16
299986 17
299987 17
2999...

result:

ok moves = 300000

Test #62:

score: 0
Accepted
time: 39ms
memory: 22472kb

input:

299997 56982
BBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBC...

output:

299996
1 1
2 1
299997 1
1 1
299995 3
299996 3
299995 4
299996 4
299993 4
299994 4
299992 6
299993 6
299992 6
299993 6
299991 7
299992 7
299989 9
299990 9
299988 10
299989 10
299988 10
299989 10
299986 11
299987 11
299986 13
299987 13
299985 13
299986 13
299983 15
299984 15
299982 16
299983 16
299982...

result:

ok moves = 299996

Test #63:

score: 0
Accepted
time: 31ms
memory: 23488kb

input:

299998 129345
CCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBB...

output:

299998
1 2
2 2
1 2
2 2
299998 4
1 4
299996 5
299997 5
299995 5
299996 5
299995 6
299996 6
299994 8
299995 8
299992 9
299993 9
299992 9
299993 9
299990 11
299991 11
299989 11
299990 11
299989 12
299990 12
299987 14
299988 14
299987 14
299988 14
299986 16
299987 16
299984 17
299985 17
299984 17
299985...

result:

ok moves = 299998

Test #64:

score: 0
Accepted
time: 35ms
memory: 25744kb

input:

299999 265635
CBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCB...

output:

299998
299998 2
299999 2
299997 3
299998 3
299997 3
299998 3
299996 4
299997 4
299994 6
299995 6
299993 7
299994 7
299993 7
299994 7
299991 9
299992 9
299991 9
299992 9
299990 10
299991 10
299988 12
299989 12
299988 12
299989 12
299986 14
299987 14
299985 15
299986 15
299985 15
299986 15
299983 17
2...

result:

ok moves = 299998

Test #65:

score: 0
Accepted
time: 31ms
memory: 24200kb

input:

300000 172035
BBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBC...

output:

300000
299999 2
300000 2
299999 2
300000 2
299997 3
299998 3
299996 5
299997 5
299996 5
299997 5
299995 7
299996 7
299993 8
299994 8
299992 8
299993 8
299992 9
299993 9
299990 11
299991 11
299990 12
299991 12
299989 12
299990 12
299987 14
299988 14
299987 14
299988 14
299985 15
299986 15
299984 17
2...

result:

ok moves = 300000

Test #66:

score: 0
Accepted
time: 0ms
memory: 15016kb

input:

300000 143374
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

0

result:

ok moves = 0

Test #67:

score: 0
Accepted
time: 0ms
memory: 13380kb

input:

300000 59002
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

0

result:

ok moves = 0

Test #68:

score: 0
Accepted
time: 0ms
memory: 14192kb

input:

299999 85730
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

0

result:

ok moves = 0

Test #69:

score: 0
Accepted
time: 6ms
memory: 13448kb

input:

299999 52075
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

0

result:

ok moves = 0

Test #70:

score: 0
Accepted
time: 0ms
memory: 16308kb

input:

300000 234800
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

2
218242 296113
218243 296113

result:

ok moves = 2

Test #71:

score: 0
Accepted
time: 4ms
memory: 13220kb

input:

300000 24663
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

2
162952 296506
162953 296506

result:

ok moves = 2

Test #72:

score: 0
Accepted
time: 3ms
memory: 13944kb

input:

299999 82421
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

2
92657 152873
92658 152873

result:

ok moves = 2

Test #73:

score: 0
Accepted
time: 8ms
memory: 14408kb

input:

299999 103379
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

2
181903 23378
181904 23378

result:

ok moves = 2

Extra Test:

score: 0
Extra Test Passed