QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#445575#8523. Puzzle IIucup-team3099#AC ✓476ms47396kbC++2016.4kb2024-06-16 04:40:012024-06-16 04:40:01

Judging History

This is the latest submission verdict.

  • [2024-06-16 04:40:01]
  • Judged
  • Verdict: AC
  • Time: 476ms
  • Memory: 47396kb
  • [2024-06-16 04:40:01]
  • Submitted

answer

#ifdef LOCAL
#define _GLIBCXX_DEBUG 1
#define dbg(...) cerr << "LINE(" << __LINE__ << ") -> [" << #__VA_ARGS__ << "]: [", DBG(__VA_ARGS__)
#else
#define dbg(...) 0
#endif

#if 0
    #include <ext/pb_ds/assoc_container.hpp>
    #include <ext/pb_ds/tree_policy.hpp>
 
    template<class T>
    using ordered_set = __gnu_pbds::tree<T, __gnu_pbds::null_type, std::less<T>, __gnu_pbds::rb_tree_tag,
        __gnu_pbds::tree_order_statistics_node_update>;
#endif

#include <vector> 
#include <list> 
#include <map> 
#include <set> 
#include <queue>
#include <stack> 
#include <bitset> 
#include <algorithm> 
#include <numeric> 
#include <utility> 
#include <sstream> 
#include <iostream> 
#include <iomanip> 
#include <cstdio> 
#include <cmath> 
#include <cstdlib> 
#include <ctime> 
#include <cstring>
#include <random>
#include <chrono>
#include <cassert>

using namespace std;
 
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define sz(x) (int)(x).size()
#define all(x) begin(x), end(x)
#define FOR(i,a,b) for (int i = (a); i < (b); ++i)
#define F0R(i,a) FOR(i,0,a)
#define REP(i,n) for(int (i)=0;(i)<(int)(n);(i)++)

#define each(a,x) for (auto& a: x)
#define tcT template<class T
#define tcTU tcT, class U
#define tcTUU tcT, class ...U
template<class T> using V = vector<T>; 
template<class T, size_t SZ> using AR = array<T,SZ>;

typedef string str;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;
 
template<typename T, typename U> T &ctmax(T &x, const U &y){ return x = max<T>(x, y); }
template<typename T, typename U> T &ctmin(T &x, const U &y){ return x = min<T>(x, y); }
 
mt19937 rng((unsigned)chrono::steady_clock::now().time_since_epoch().count());
 
#define ts to_string
str ts(char c) { return str(1,c); }
str ts(bool b) { return b ? "true" : "false"; }
str ts(const char* s) { return (str)s; }
str ts(str s) { return s; }
str ts(vector<bool> v) { str res = "{"; F0R(i,sz(v)) res += char('0'+v[i]);	res += "}"; return res; }
template<size_t SZ> str ts(bitset<SZ> b) { str res = ""; F0R(i,SZ) res += char('0'+b[i]); return res; }
template<class A, class B> str ts(pair<A,B> p);
template<class T> str ts(T v) { bool fst = 1; str res = "{"; for (const auto& x: v) {if (!fst) res += ", ";	fst = 0; res += ts(x);}	res += "}"; return res;}
template<class A, class B> str ts(pair<A,B> p) {return "("+ts(p.first)+", "+ts(p.second)+")"; }
 
template<class A> void pr(A x) { cout << ts(x); }
template<class H, class... T> void pr(const H& h, const T&... t) { pr(h); pr(t...); }
void ps() { pr("\n"); }
template<class H, class... T> void ps(const H& h, const T&... t) { pr(h); if (sizeof...(t)) pr(" "); ps(t...); }
 
void DBG() { cerr << "]" << endl; }
template<class H, class... T> void DBG(H h, T... t) {cerr << ts(h); if (sizeof...(t)) cerr << ", ";	DBG(t...); }

tcTU> void re(pair<T,U>& p);
tcT> void re(V<T>& v);
tcT, size_t SZ> void re(AR<T,SZ>& a);

tcT> void re(T& x) { cin >> x; }
void re(double& d) { str t; re(t); d = stod(t); }
void re(long double& d) { str t; re(t); d = stold(t); }
tcTUU> void re(T& t, U&... u) { re(t); re(u...); }

tcTU> void re(pair<T,U>& p) { re(p.first,p.second); }
tcT> void re(V<T>& x) { each(a,x) re(a); }
tcT, size_t SZ> void re(AR<T,SZ>& x) { each(a,x) re(a); }
tcT> void rv(int n, V<T>& x) { x.rsz(n); re(x); }

constexpr bool multitest() {return 0;}
void solve();
int main() {
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	int t = 1;
	if (multitest()) cin >> t;
	for (; t; t--) solve();
}




template <typename T, class Allocator = std::allocator<T> >
class treap {
 private:
  struct node;
  using pnode = struct node *;
  using node_allocator_t = typename std::allocator_traits<Allocator>::template rebind_alloc<node>;

  std::mt19937_64 * rng_;
  node_allocator_t node_allocator_;
  bool rng_owner_;
  bool is_sorted_;
  bool stop_; // for priority regeneration
  pnode root_;

  using priority_t = std::mt19937_64::result_type;

  priority_t next_priority () {
    priority_t priority = (*rng_)();
    return priority;
  }

  void regenerate_priorities_recursive (std::vector <int> & new_priors, pnode & t, int l, int r) {
    if (!t)
      return;
    t->priority = new_priors[r - 1];
    regenerate_priorities_recursive(new_priors, t->l, l, l + cnt(t->l));
    regenerate_priorities_recursive(new_priors, t->r, l + cnt(t->l), r - 1);
  }

  void regenerate_priorities () {
    int sz = size();
    std::vector <int> new_priors(sz);
    for (int i = 0; i < sz; i++)
      new_priors[i] = next_priority();
    std::sort(new_priors.begin(), new_priors.end());
    for (int i = 0; i < sz; i++)
      new_priors[i] += i;
    regenerate_priorities_recursive(new_priors, root_, 0, sz);
  }

  struct node {
    priority_t priority;
    int cnt, rev;
    T key, add, fsum;
    pnode l, r;

    node (T x, priority_t p) {
      add = 0 * x;
      key = fsum = x;
      cnt = 1;
      rev = 0;
      l = r = nullptr;
      priority = p;
    }
  };

  pnode create_node(T x) {
    auto place = node_allocator_.allocate(1);
    std::allocator_traits<node_allocator_t>::construct(node_allocator_, place, x, next_priority());
    return place;
  }

  void destroy_node(pnode t) {
    std::allocator_traits<node_allocator_t>::destroy(node_allocator_, t);
    node_allocator_.deallocate(t, 1);
  }

  int cnt (pnode t) {
    return t ? t->cnt : 0;
  }

  void upd_cnt (pnode t) {
    if (t)
      t->cnt = cnt(t->l) + cnt(t->r) + 1;
  }

  void upd_sum (pnode t) {
    if (t) {
      t->fsum = t->key;
      if (t->l)
        t->fsum += t->l->fsum;
      if (t->r)
        t->fsum += t->r->fsum;
    }
  }

  void update (pnode t, T add, int rev) {
    if (!t)
      return;
    t->add = t->add + add;
    t->rev = t->rev ^ rev;
    t->key = t->key + add;
    t->fsum = t->fsum + cnt(t) * add;
  }

  void push (pnode t) {
    if (!t || (t->add == 0 * T() && t->rev == 0))
      return;
    update(t->l, t->add, t->rev);
    update(t->r, t->add, t->rev);
    if (t->rev)
      std::swap(t->l, t->r);
    t->add = 0 * T();
    t->rev = 0;
  }

  void merge (pnode & t, pnode l, pnode r) {
    push(l);
    push(r);
    if (!l || !r)
      t = l ? l : r;
    else if (l->priority > r->priority) {
      merge(l->r, l->r, r);
      t = l;
    }
    else {
      merge(r->l, l, r->l);
      t = r;
    }
    upd_cnt(t);
    upd_sum(t);
  }

  void split (pnode t, pnode & l, pnode & r, int index) { // split at position
    if (!t) {
      l = r = 0;
      return;
    }
    push(t);
    if (index <= cnt(t->l)) {
      split(t->l, l, t->l, index);
      r = t;
    }
    else {
      split(t->r, t->r, r, index - 1 - cnt(t->l));
      l = t;
    }
    upd_cnt(t);
    upd_sum(t);
  }

  void split_at (pnode t, pnode & l, pnode & r, T & key, bool & eq) { // split by key
    if (!t) {
      l = r = 0;
      return;
    }
    push(t);
    if (key == t->key) {
      eq = true;
      return;
    }
    if (key < t->key) {
      split_at(t->l, l, t->l, key, eq);
      if (!eq)
        r = t;
    }
    else {
      split_at(t->r, t->r, r, key, eq);
      if (!eq)
        l = t;
    }
    if (!eq)
      upd_cnt(t);
    upd_sum(t);
  }

  void insert (pnode & t, pnode it, int index) { // insert at position
    push(t);
    if (!t)
      t = it;
    else if (it->priority == t->priority) {
      stop_ = true;
      regenerate_priorities();
    }
    else if (it->priority > t->priority) {
      split(t, it->l, it->r, index);
      t = it;
    }
    else if (index <= cnt(t->l))
      insert(t->l, it, index);
    else
      insert(t->r, it, index - cnt(t->l) - 1);
    if (stop_)
      return;
    upd_cnt(t);
    upd_sum(t);
  }

  void insert_at (pnode & t, pnode it, bool & eq) { // insert by key
    push(t);
    if (!t)
      t = it;
    else if (it->key == t->key) {
      eq = true;
      return;
    }
    else if (it->priority == t->priority) {
      stop_ = true;
      regenerate_priorities();
    }
    else if (it->priority > t->priority) {
      split_at(t, it->l, it->r, it->key, eq);
      if (!eq)
        t = it;
    }
    else if (it->key < t->key)
      insert_at(t->l, it, eq);
    else
      insert_at(t->r, it, eq);
    if (stop_)
      return;
    if (!eq)
      upd_cnt(t);
    upd_sum(t);
  }

  void erase (pnode & t, int index) {
    push(t);
    if (cnt(t->l) == index) {
      pnode l = t->l, r = t->r;
      destroy_node(t);
      t = nullptr;
      merge(t, l, r);
    }
    else if (index < cnt(t->l))
      erase(t->l, index);
    else
      erase(t->r, index - cnt(t->l) - 1);
    upd_cnt(t);
    upd_sum(t);
  }

  void erase_at (pnode & t, T key, bool & found) {
    push(t);
    if (key == t->key) {
      pnode l = t->l, r = t->r;
      destroy_node(t);
      t = nullptr;
      merge(t, l, r);
      found = true;
    }
    else if (key < t->key)
      erase_at(t->l, key, found);
    else
      erase_at(t->r, key, found);
    upd_cnt(t);
    upd_sum(t);
  }

  T get (pnode t, int index) {
    push(t);
    if (index < cnt(t->l))
      return get(t->l, index);
    else if (index > cnt(t->l))
      return get(t->r, index - cnt(t->l) - 1);
    return t->key;
  }

  int find (pnode t, T key) {
    push(t);
    if (!t || key == t->key)
      return cnt(t->l);
    if (key < t->key)
      return get(t->l, key);
    else
      return get(t->r, key) + 1 + cnt(t->l);
  }

  std::pair <T, int> lower_bound (pnode t, T key, int index) {
    push(t);
    if (!t)
      return {T(), size()};
    if (key == t->key)
      return {key, index + cnt(t->l)};
    if (key < t->key) {
      std::pair <T, int> ret = lower_bound(t->l, key, index);
      if (ret.second == size())
        ret = {t->key, index + cnt(t->l)};
      return ret;
    }
    return lower_bound(t->r, key, index + 1 + cnt(t->l));
  }

  std::pair <T, int> upper_bound (pnode t, T key, int index) {
    push(t);
    if (!t)
      return {T(), size()};
    if (key < t->key) {
      std::pair <T, int> ret = upper_bound(t->l, key, index);
      if (ret.second == size())
        ret = {t->key, index + cnt(t->l)};
      return ret;
    }
    return upper_bound(t->r, key, index + 1 + cnt(t->l));
  }

  void shift (pnode & t, int l, int r, T add) {
    pnode l1, r1;
    split(t, l1, r1, r + 1);
    pnode l2, r2;
    split(l1, l2, r2, l);
    update(r2, add, 0);
    pnode t2;
    merge(t2, l2, r2);
    merge(t, t2, r1);
  }

  void reverse (pnode & t, int l, int r) {
    pnode l1, r1;
    split(t, l1, r1, r + 1);
    pnode l2, r2;
    split(l1, l2, r2, l);
    update(r2, 0 * T(), 1);
    pnode t2;
    merge(t2, l2, r2);
    merge(t, t2, r1);
  }

  void move (pnode & t, int left, int right, int shift) {
    // [l, r) becomes [l+shift, r+shift)
    if (shift == 0)
      return;
    int l = left + std::min(0, shift);
    int r = right + std::max(0, shift);
    int m = (shift > 0) ? right : left;
    pnode prefix, tmp;
    split(root_, prefix, tmp, l);
    pnode suffix, middle;
    split(tmp, middle, suffix, r - l);
    pnode mid_prefix, mid_suffix;
    split(middle, mid_prefix, mid_suffix, m - l);
    merge(middle, mid_suffix, mid_prefix);
    merge(tmp, middle, suffix);
    merge(root_, prefix, tmp);
  }

  T get_sum (pnode & t, int l, int r) {
    pnode l1, r1;
    split(t, l1, r1, r + 1);
    pnode l2, r2;
    split(l1, l2, r2, l);
    T ret = r2->fsum;
    pnode t2;
    merge(t2, l2, r2);
    merge(t, t2, r1);
    return ret;
  }

  void clear (pnode & t) {
    if (!t)
      return;
    clear(t->l);
    clear(t->r);
    destroy_node(t);
    t = nullptr;
  }

 public:
  treap (std::mt19937_64 * rng = nullptr) {
    is_sorted_ = true;
    stop_ = false;
    root_ = nullptr;
    if (rng) {
      rng_owner_ = false;
      rng_ = rng;
    }
    else {
      rng_owner_ = true;
      rng_ = new std::mt19937_64;
      rng_->seed(std::chrono::steady_clock::now().time_since_epoch().count());
    }
  }

  ~treap () {
    if (rng_owner_)
      delete rng_;
    clear(root_);
  }

  int size () { return cnt(root_); }

  bool empty () { return (cnt(root_) == 0); }

  bool is_sorted () { return is_sorted_; }

  void srand (std::mt19937_64::result_type seed) {
    // optional
    rng_->seed(seed);
  }

  bool insert (T x) {
    bool eq = false;
    pnode t = create_node(x);
    stop_ = false;
    insert_at(root_, t, eq);
    while (stop_) {
      stop_ = false;
      eq = false;
      insert_at(root_, t, eq);
    }
    if (eq)
      destroy_node(t);
    return !eq;
  }

  void insert_at (int pos, T x) {
    if (pos > size())
      return;
    pnode t = create_node(x);
    stop_ = false;
    insert(root_, t, pos);
    while (stop_) {
      stop_ = false;
      insert(root_, t, pos);
    }
    if (pos > 0 && is_sorted_) {
      if (get(root_, pos - 1) >= get(root_, pos))
        is_sorted_ = false;
    }
    if (pos < size() - 1 && is_sorted_) {
      if (get(root_, pos) >= get(root_, pos + 1))
        is_sorted_ = false;
    }
  }

  bool erase (T x) {
    bool found = false;
    erase_at(root_, x, found);
    return found;
  }

  void erase_at (int pos) {
    if (pos >= size())
      return;
    erase(root_, pos);
  }

  void clear () {
    clear(root_);
  }

  int get_index (T key) {
    if (!is_sorted_)
      return size();
    pnode t = root_;
    int index = 0;
    while (t && t->key != key) {
      if (t->key > key)
        t = t->l;
      else {
        index += cnt(t->l) + 1;
        t = t->r;
      }
    }
    if (!t)
      return size();
    index += cnt(t->l);
    return index;
  }

  T operator[] (int index) {
    return get(root_, index);
  }

  std::pair <T, int> lower_bound (T x) {
    if (!is_sorted_)
      return {T(), size()};
    return lower_bound(root_, x, 0);
  }

  std::pair <T, int> upper_bound (T x) {
    if (!is_sorted_)
      return {T(), size()};
    return upper_bound(root_, x, 0);
  }

  void shift (int left, int right, T x) {
    left = std::max(left, 0);
    right = std::min(right, size() - 1);
    shift(root_, left, right, x);
    if (left > 0 && is_sorted_) {
      if (get(root_, left - 1) >= get(root_, left))
        is_sorted_ = false;
    }
    if (right < size() - 1 && is_sorted_) {
      if (get(root_, right) >= get(root_, right + 1))
        is_sorted_ = false;
    }
  }

  void reverse (int left, int right) {
    left = std::max(left, 0);
    right = std::min(right, size() - 1);
    reverse(root_, left, right);
    if (left != right)
      is_sorted_ = false;
  }

  void move (int left, int right, int shift) {
    move(root_, left, right, shift);
  }

  T get_sum (int left, int right) {
    return get_sum(root_, left, right);
  }
};  // class treap


















treap<int> t1, t2;

bool swapped = false;

vector<pii> ops;

void swap(int x, int y, int n, int k) {
  /*dbg("swap", x, y);
  string s1 = "", s2 = "";
  for (int i = 0; i < n; i++) s1 += '0'+t1[i];
  for (int i = 0; i < n; i++) s2 += '0'+t2[i];
  dbg(s1, s2);*/

	ops.emplace_back((x+1)%n, (y+n-k+1)%n);
	ops.emplace_back(x, (y+n-k+1)%n);
	t1.erase_at(x);
	t2.erase_at(y);
	t1.insert_at((x+k)%(n-1), 1);
	if (x+k >= n-1) {
		int la = t1[0];
		t1.erase_at(0);
		t1.insert_at(n-1, la);
	}

	t2.insert_at((y+(n-1)-(k-1))%(n-1), 1);
	if (y < k-1) {
		int la = t2[n-1];
		t2.erase_at(n-1);
		t2.insert_at(0, la);
	} 

  /*s1 = "", s2 = "";
  for (int i = 0; i < n; i++) s1 += '0'+t1[i];
  for (int i = 0; i < n; i++) s2 += '0'+t2[i];
  dbg(s1, s2);*/
}

void solve() {
	int n, k; re(n, k);
	string s, t; re(s, t);

	int cB = count(all(s), 'B');
	if (cB < n - cB) {
		swapped = true;
		swap(s, t);
		cB = n - cB;
	}

	for (int i = 0; i < n; i++) {
		t1.insert_at(i, s[i] == 'B');
		t2.insert_at(i, t[i] == 'C');
	}

	cB = n-cB;
	int la1 = 0, la2 = 0;
	for (; cB; cB--) {
		for (int i = la1; ; i++) {
			if (i == n) i = 0;
			if (t1[i] == 0) {
				la1 = i;
				break;
			}
		}
		for (int i = la2; ; i++) {
			if (i == n) i = 0;
			if (t2[i] == 0) {
				la2 = i;
				break;
			}
		}

		swap(la1, la2, n, k);
	}

	ps(sz(ops));
	for (auto [x, y]: ops) {
		if (swapped) swap(x,y);
    ps(x+1, y+1);
	}
}


















































	







詳細信息

Test #1:

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

input:

6 3
BCCBCC
BBCBBC

output:

4
5 4
5 3
2 6
2 5

result:

ok moves = 4

Test #2:

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

input:

2 1
BC
BC

output:

2
1 1
2 1

result:

ok moves = 2

Test #3:

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

input:

2 1
BB
CC

output:

0

result:

ok moves = 0

Test #4:

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

input:

2 1
CC
BB

output:

0

result:

ok moves = 0

Test #5:

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

input:

3 1
CCC
BBB

output:

0

result:

ok moves = 0

Test #6:

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

input:

3 1
CBC
BCB

output:

2
2 3
2 2

result:

ok moves = 2

Test #7:

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

input:

3 2
BBB
CCC

output:

0

result:

ok moves = 0

Test #8:

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

input:

3 2
BCB
BCC

output:

2
3 3
2 3

result:

ok moves = 2

Test #9:

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

input:

4 2
CCCB
BBCB

output:

2
3 4
3 3

result:

ok moves = 2

Test #10:

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

input:

9 6
CCCBCCCBB
BBBCBBBCC

output:

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

result:

ok moves = 6

Test #11:

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

input:

21 3
CCCCBBCBCCCCCCCBCCCCC
BBCCBCBBBBBBBBBCBBBBB

output:

8
3 4
3 3
4 4
4 3
6 5
6 4
14 17
14 16

result:

ok moves = 8

Test #12:

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

input:

49 41
CBCCBCCBCCBCCBCCCBBCCBCBBCCCBBCCBCBCBCBCCCCBCBCCB
BCCCCBCBBBBCBCBBBBBCBBBBCCCCBCBBCBBCBBBBCBCBCBBBC

output:

38
11 3
11 2
14 3
14 2
17 3
17 2
21 3
21 2
25 4
25 3
31 8
31 7
32 9
32 8
36 14
36 13
38 18
38 17
39 18
39 17
46 18
46 17
49 18
49 17
3 19
3 18
5 21
5 20
8 23
8 22
11 27
11 26
19 28
19 27
22 34
22 33
25 38
25 37

result:

ok moves = 38

Test #13:

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

input:

114 8
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

output:

0

result:

ok moves = 0

Test #14:

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

input:

266 28
CBBCBBCCCCBCBBCBBBCBCBCBCBBCBCBBCCCCBCCCCCBCCBBCCBBCBCBBCCCCCCBBBCCCBCCBCBBCCCBCCCCCCBCBBCCCBCBBCCBCBBBCBCCCBBCBCCCCBBCBBCBBCCBBCCCCCBBCCCBCCCCCCCCBBBBBBCBCCBCCCCBBCBBBBCBCCCCCCCBCBBCBCCCCCCCCCCCBBBBCCCCBCBCCCBCCCCCCCCCBCBCCCBBBCCCBCCBCBBCBCCCCCCBCBCCCCBCBCCBCCCCBCB
CCBCBCBBCBCBBCBCCCBBBCBCBB...

output:

206
241 2
241 1
242 2
242 1
244 3
244 2
245 4
245 3
250 6
250 5
252 7
252 6
253 9
253 8
255 10
255 9
256 10
256 9
257 10
257 9
259 13
259 12
261 14
261 13
263 16
263 15
265 25
265 24
266 39
266 38
2 47
2 46
4 47
4 46
5 48
5 47
10 54
10 53
16 56
16 55
19 56
19 55
20 59
20 58
23 59
23 58
24 64
24 63
2...

result:

ok moves = 206

Test #15:

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

input:

620 443
BBBBBBCBBBCBBCBCBCBBBBCCCBCCBCBBBBBBCCCBBBCCBBCBCBCBBCCCCBCBBCBCCCCBBBBBBCCCCCBBBBCCBCBBBBBCBCBBCBCBCCCCBCBBCBBBCBBBCCCBCCCBBBBBCCBBCCBBBCCBCCBCBBCBCCCCCCCCCBCBCBBBCBBCBBCBBBBBBBCCBBBBBBBBBBCBBCBBCBBCCCBBCCBBBBCCCBBBBBBCBBBBBBBBCBBCBCBBBCCBBBBCCBBBCBCBCBBBBBCBBCBBBBCBBBBCCBBBCBBBBBCBBCCCCBCC...

output:

484
8 182
7 182
11 183
10 183
13 184
12 184
14 190
13 190
15 192
14 192
19 194
18 194
19 195
18 195
19 197
18 197
20 199
19 199
20 200
19 200
21 202
20 202
27 204
26 204
27 205
26 205
27 207
26 207
30 210
29 210
30 211
29 211
32 213
31 213
33 214
32 214
34 215
33 215
36 217
35 217
36 218
35 218
36 2...

result:

ok moves = 484

Test #16:

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

input:

1446 646
CCCBCCCCCCCBBCCBBCCCCBBCCCBBCCCCCCCCCCCCCCCBCCCCCCCCBBCCBBCCCBCBBBCCCCBBCCCCCCCCCCCBCBCCCBBCCCCBBCBCBCCCCCCCBCCCCCCCBCCBCBBCCCCCCCCCCCCBCCCBCCCCCCBCCCBCCCCCBBCCCBBCCCBBBCCBCCBCCBBBCBCBCCCCBCBCCCBCCCCBBCCCCCCCBCCCCBCCCBBBCCCBCCBBCCCCBCCCBBCBCCCCCBBCCBCCCCCCBCCCCCCCCCCCCCCBCCCCCBCBCCCCBCCCCCB...

output:

874
805 2
805 1
813 4
813 3
814 4
814 3
817 12
817 11
818 12
818 11
823 13
823 12
824 15
824 14
828 16
828 15
829 26
829 25
845 26
845 25
854 28
854 27
855 28
855 27
858 28
858 27
859 28
859 27
863 28
863 27
865 37
865 36
866 38
866 37
867 47
867 46
872 52
872 51
873 52
873 51
885 57
885 56
887 58
8...

result:

ok moves = 874

Test #17:

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

input:

3374 2755
BCBBCBBBCBBBBBBBBBCCBBBBBBBCCBBCBBCBBBBBCBBBBBBBBCBBBBBBBBBBBBCBBBCCBBBBCBBBBBCBBBBBCBBBBCBBBBBBBBBCBBBBBBBBBBBCBBBBBBBCBBBBBBBBBBCCBBBBBBBBBCBBCBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCBBBCBBCBBBBBBBBBBBBBBCCBCBCBCBBBBCBBBCBBBBBBBBCBBCBCBBCBCCBBBBBBBBBBBCCBBBBBBBBBBBBBBBBBCBBBBBBBBBBB...

output:

1216
3 623
2 623
5 638
4 638
8 643
7 643
17 644
16 644
17 646
16 646
24 650
23 650
24 651
23 651
26 656
25 656
28 657
27 657
33 663
32 663
41 666
40 666
53 667
52 667
56 677
55 677
56 688
55 688
60 699
59 699
65 700
64 700
70 719
69 719
74 726
73 726
83 730
82 730
94 735
93 735
101 740
100 740
111 7...

result:

ok moves = 1216

Test #18:

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

input:

7872 7827
BCBBCBCBBCCBCBBBCCCBBBBBBBCBBBBCCBCCBCBBBBBBCBBCBBBCCCBBBCCCCBCBBBBCBBCCBBBBCCBBCBBBCBCBBCBCBBCCBBBCCBBBBCCBBCBBBBBBCBBBBBBBBCCBBCCCCBCCCBBCCCBBCBCBBBCBBBBCBBBBCBCBBBCCBBCCCCBBBCBBCCBBBBBBCBBBBCCCBBBCCCBBCCCBBBBBBCCBBBCCCCBBBCBBCBCCBBBCCCCBCBBCCBBBBCCBBBCBBCBBBCBBBCBBBBCCBBBBBCCBCBCBBBBBBB...

output:

5928
3 47
2 47
5 50
4 50
6 52
5 52
8 53
7 53
8 54
7 54
9 59
8 59
12 60
11 60
12 64
11 64
12 65
11 65
19 67
18 67
23 68
22 68
23 69
22 69
24 70
23 70
24 73
23 73
25 74
24 74
31 80
30 80
33 84
32 84
36 90
35 90
36 92
35 92
36 97
35 97
39 103
38 103
39 109
38 109
39 112
38 112
39 117
38 117
40 118
39 1...

result:

ok moves = 5928

Test #19:

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

input:

18368 17997
CBBBBBBBBBBCBBBBBBBBBBBBBBCBBCCBBBBBBBBBBBBBCBCBBBBBBBBCBBBBBCBBBBBBBBBBBBBBCBBBBBBBBBBCBBBCBCBBBBBCBCBBCBBBBBBBBBBBBBCCCBBBBBBCBBBBCBCBBCBBBBBCBBBBBBBCCBBBBCCBCBBBBBBBBBBBBCBBBBBBBBCBCBBBBBBBBCBCBBBBBBBBBBBCBBBBCCBBBBBBBCBBBBBBBBBBBBBBBCCBBCBCBBCBCBBBCBBBBBBBBBBBBBCBBCBBBBBBBCCCBBBBBBBB...

output:

7330
2 374
1 374
12 382
11 382
26 383
25 383
28 390
27 390
28 393
27 393
41 416
40 416
42 417
41 417
50 418
49 418
55 422
54 422
69 437
68 437
79 439
78 439
82 442
81 442
83 458
82 458
88 471
87 471
89 477
88 477
91 481
90 481
104 482
103 482
104 501
103 501
104 502
103 502
110 507
109 507
114 511
1...

result:

ok moves = 7330

Test #20:

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

input:

42858 28689
CCCCCCCCCCCCCCCCCCCCBCCCBBCCCBCCCCCCCCCBCCCCCCCBCCCBCCCCCBCCCCCCCCBCCBCCBCCCCCCCCCCCCCCCCCBCCCCCCCCCBCCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCBBCCCCCCCCCCCCCCBBCCCBCCCCCCCCCCBCCCCCCCBCCCCBCBCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCBCCCBCBCCCCCCCCCCCCCCBCCCCCCCCBCCCCCCCCCCCCCCCCCC...

output:

8086
14191 2
14191 1
14195 3
14195 2
14196 7
14196 6
14200 11
14200 10
14210 14
14210 13
14218 25
14218 24
14222 37
14222 36
14228 37
14228 36
14237 40
14237 39
14240 47
14240 46
14243 47
14243 46
14261 72
14261 71
14271 74
14271 73
14276 76
14276 75
14305 77
14305 76
14323 88
14323 87
14324 90
1432...

result:

ok moves = 8086

Test #21:

score: 0
Accepted
time: 79ms
memory: 16612kb

input:

100002 40466
BBBBBBBCCBCBCCBCBBBBCCBBCBBBBBBBBBBCBBBBCBBBBBCBBBBBBBBBCBBBCBBBCCBCBCBBBBBBCBBBBBBBCBBBBBCBBBBCBCBCBBBBBBBBCBBBBBBBBCBCBBBBCBBBBBBBBBBBBBCBCBBCBBBBBBBBBBBCBBBBBBBCBCBCBCBBBBBBBBCBCBBBBBBBBCBBBBBBBBCBCCBBBCCBBCBBCBBBBBBBBBBCBBBCBBBBBBBBBBBBCBBCCBBCBBCBBBBCBBBBCBBBCCBBBCBBBBBBBCBBBBCBBBC...

output:

45728
9 59540
8 59540
9 59544
8 59544
10 59548
9 59548
11 59550
10 59550
11 59551
10 59551
12 59555
11 59555
16 59568
15 59568
16 59570
15 59570
18 59571
17 59571
28 59572
27 59572
32 59573
31 59573
37 59575
36 59575
46 59582
45 59582
49 59583
48 59583
52 59590
51 59590
52 59591
51 59591
53 59597
52...

result:

ok moves = 45728

Test #22:

score: 0
Accepted
time: 207ms
memory: 34000kb

input:

233338 159967
CCBCBBCCCCBBCCCCCCCCBCCCBCCCCBCCBCCCCCCCCCBCBCCBBCBBCCCCBCCCCCCCCCCCCCCCCCCCBCCBCCBBCBCCBBBCCBCCCCBBCCCBCCCCCCCCCCCBCCBCCCCCCCCBCCCBBCBCCCBCCCCCBCCBCCBCCCCCCCBCCCCCBCCBBCCCCCCCBCCCCCCCCBBBCCCCCCCCCCCCBBBCCCBBCCBCBCCCCCCCCCBCCCCBCCCCCCCCBBCCCCBCCCCBCCCBCCCBCCCCCBCCCCCBBCCCBCCCCCCCCCCCCC...

output:

103344
73375 2
73375 1
73377 4
73377 3
73378 5
73378 4
73383 6
73383 5
73384 7
73384 6
73393 22
73393 21
73397 26
73397 25
73402 28
73402 27
73405 30
73405 29
73415 30
73415 29
73417 35
73417 34
73420 35
73420 34
73421 38
73421 37
73423 42
73423 41
73424 44
73424 43
73429 46
73429 45
73449 48
73449 ...

result:

ok moves = 103344

Test #23:

score: 0
Accepted
time: 351ms
memory: 46336kb

input:

300000 1
CCCBBBBBBCCBCCCBCBBBBCBCBCBBCBBBBCBCBCCBBCCBBCCBCBBCBBBBBBCBBBCBCBCCBBCBBCCCCCBCBCBBBBBBBBCBCBBBBCCCBCBBBCCBCBCBCBCBBCCBCBCCCBCBCBBCCBCCBBCBBBBCCBBCBCBBBBCCBBBBBBBCCBCCCBCBCCBBBBBCCBBBBCBCCBCBBCBBCBCCCBBBBBBBCCCCBBBBBBBBCBBBCCBCBBBBCCBBBCCBCBCCBCCBBCBBCCCCCBCBBBCCCCCCBCBBBCBBCCCCCCBCCCBBBCC...

output:

299752
4 2
4 1
5 4
5 3
6 7
6 6
7 10
7 9
8 13
8 12
9 13
9 12
12 16
12 15
16 19
16 18
18 19
18 18
19 22
19 21
20 27
20 26
21 27
21 26
23 29
23 28
25 29
25 28
27 31
27 30
28 31
28 30
30 33
30 32
31 33
31 32
32 36
32 35
33 38
33 37
35 38
35 37
37 40
37 39
40 40
40 39
41 42
41 41
44 44
44 43
45 44
45 43
...

result:

ok moves = 299752

Test #24:

score: 0
Accepted
time: 427ms
memory: 47224kb

input:

300000 299999
BBCBCCBBBBCCBBBCBBBCCCBCBCBCCBBCCBBCCBBCCBBBBBCBBCBBBCBBBCCBBCBBBCCCCCCBBCCBCBCBCBBBCCBCBBCCCBBCCCCCBCBCCBBCBBCCBBCCBBBBCBBCBBCCBBCCCCCCCBCBCCCBBBCBBBCCCCBCBBCCCBBCBBBCBBBBCCCCCCBCCCCCCBCBBCBBCBCBCBCCCCBCCBCCCBBCCBBCCCCCBBCCBCCCCBBCBCBCBCCCCBBBCCBCBBBCCBBBCCBBCBCCBCCBCCCCBCCBBBCCBCCBCB...

output:

299728
3 5
3 4
4 5
4 4
8 6
8 5
12 6
12 5
13 7
13 6
16 14
16 13
17 15
17 14
22 15
22 14
23 16
23 15
26 17
26 16
29 19
29 18
30 19
30 18
33 19
33 18
38 20
38 19
41 20
41 19
44 23
44 22
48 23
48 22
49 26
49 25
54 26
54 25
55 26
55 25
60 28
60 27
61 32
61 31
66 32
66 31
67 32
67 31
70 32
70 31
71 32
71 ...

result:

ok moves = 299728

Test #25:

score: 0
Accepted
time: 361ms
memory: 46544kb

input:

299999 1
BBBCCBBCBCCCCBCCCBBBCCBBBBCBCBBCCCCBBCCCCCCBCBBCBBBCCCCCBCBBCCCCBCBCBCCBBCBCCCBCBCCCBBBBBCBCCBBCBCBBBCCBBCCBBCBBBCBCCBCBCCCBCCCCBBCBCBCBBBBCBCCCCBCCCBBCCBCCCBBBCCCCBCCCBBBBBBCCCBCBCBCBCCBCCBBCBBCCBBCBBCCBBBBCCCCBBCBBBCCCBBCBCCBBCCBBBCCBCCCBCCBBBBBCBCBBBCCBCCCBCBBBBBBBBCCBBCBBBCBCBBBCBCCCCCB...

output:

299916
5 1
4 1
5 2
4 2
9 4
8 4
11 5
10 5
11 6
10 6
13 7
12 7
13 8
12 8
16 16
15 16
16 17
15 17
18 18
17 18
22 19
21 19
22 21
21 21
28 22
27 22
30 25
29 25
33 28
32 28
33 32
32 32
35 34
34 34
35 35
34 35
39 36
38 36
39 37
38 37
41 38
40 38
41 44
40 44
43 45
42 45
43 47
42 47
46 50
45 50
49 52
48 52
5...

result:

ok moves = 299916

Test #26:

score: 0
Accepted
time: 428ms
memory: 46800kb

input:

299999 299998
CBBCBBBCBCBBCBCCCCCBCCBBBCBCBCCCBBBBCCBBCBCCCBCBBCCBBBBCCBCBBCCCCBCBBCCBCCCCBCCBCBCCCBBCBBCCBBCCCBBBCCBBCBBBCCCBBCCBCCCCCBBCCCCCBBCCCCBCCBCCBBBCBCCCCBBCBBBCBBBCCCBCCBBCCCBBCBCBBCBCBBCBCCBBBCBBCCCBBCBBCBCCCCBBBBCCCBCCBCBBBCBCCBCBBBBBBBBBCBCBCBBBCCBCCBBBBCCCBBCCBCCBBCCCCBBBBCCCCBBCBCBCBC...

output:

299574
2 3
1 3
4 4
3 4
7 11
6 11
8 14
7 14
10 15
9 15
11 18
10 18
11 22
10 22
11 23
10 23
11 27
10 27
11 30
10 30
12 31
11 31
12 37
11 37
15 42
14 42
16 43
15 43
17 46
16 46
17 47
16 47
17 50
16 50
21 51
20 51
21 54
20 54
23 55
22 55
24 58
23 58
24 61
23 61
24 64
23 64
25 65
24 65
27 68
26 68
27 69
...

result:

ok moves = 299574

Test #27:

score: 0
Accepted
time: 363ms
memory: 45976kb

input:

300000 2
CCBBBBBBCCCBBCCCBBBCCBBCCBBBBBCBCBBBCCBBCBCCBBCBBBBCBCBBCCBCCCBCBCCBBCBBBCBCBCBBCCCCBBBCBCCCBCCBBBBCCCBCBBBBBCCCCCCBBBCCBBBBCCBBBBBCCCBCBCCCBCCBBCCBCBCBBBCBBCCCCCCBBBBCBBCCCCBCCBCCBCCBBCBBBCCBCCCCBCCBBCBBBCBCCBCCBBBBCBBCBBCBCCBCCCBBCCCCBBBCCBCBBCCBCBBCBBBBBCBBBCBBBBBBCCBBBBCCCBBBBBCCBBCCCBB...

output:

299994
2 10
1 10
2 13
1 13
10 15
9 15
10 18
9 18
10 19
9 19
15 20
14 20
15 23
14 23
15 24
14 24
21 25
20 25
21 26
20 26
25 31
24 31
25 32
24 32
32 35
31 35
33 36
32 36
38 37
37 37
38 39
37 39
42 40
41 40
43 45
42 45
44 51
43 51
48 55
47 55
53 59
52 59
54 60
53 60
58 62
57 62
58 64
57 64
61 65
60 65
...

result:

ok moves = 299994

Test #28:

score: 0
Accepted
time: 434ms
memory: 45776kb

input:

300000 299998
BBBBBBBCBBBBBBCCCCBBCCCCBCCCCCCBCCBCCCBBCCBBCCCBBCBCCBCBBCCCBCCCBCCBCCCBCCBCBBBCBBCCCCBBCBCCCBCCBBCBCCBCBCCBBBCCBCCBBCBBBBBBCBBBCBBBCCCCCCBBCBCCCCCBBCBBCBCCCBBCBBCBBCCCCCCBBBBCBCCCCCCCCCBCCBCCBCBCCBCBCBBCBCBCCBBCCCCBCCCCCCCCCBCCCBBCCCBBCBBBBBBCBCCBCBCBBBBCCCBBCBBCBBBCBCBBCCCCBCCBBBBCBB...

output:

299714
9 5
8 5
15 6
14 6
15 7
14 7
15 11
14 11
15 12
14 12
17 18
16 18
17 19
16 19
17 23
16 23
17 24
16 24
18 30
17 30
18 32
17 32
18 34
17 34
18 36
17 36
18 41
17 41
18 45
17 45
19 47
18 47
19 52
18 52
20 54
19 54
20 56
19 56
20 58
19 58
22 60
21 60
22 62
21 62
24 64
23 64
24 70
23 70
24 71
23 71
2...

result:

ok moves = 299714

Test #29:

score: 0
Accepted
time: 347ms
memory: 45616kb

input:

299999 2
CBCCCCBCBBCCBBBBCBCCBBBCBCCBCBCCBCBCBBCCBBBBCCCBBCBCBBCBCCCCBBBCCBCBBCCBBCBCCBBCBBCCBBCCBCCBBBCCCCBBCBBBCCBBBCCBBBCCCBBCBBCBCCCBCBCBBBCBCBBCCBCBCBBBBCCBCBCBBBBBCBCBBCBCBCCBCBCCBCCBBCBBBCBBBBCBCBBBCCBCBBCBBCCBCBCBCCBBBBCBCCBCBCCCCCBBBBBCBCCCCBBCCBBCCCCBBCBBBBBBCBCCBBCBCBCBBBCCCBCCBBBBCCBBCBB...

output:

299818
1 2
1 1
6 3
6 2
8 4
8 3
9 8
9 7
12 11
12 10
13 12
13 11
14 13
14 12
15 14
15 13
17 15
17 14
20 16
20 15
21 17
21 16
22 21
22 20
24 22
24 21
27 27
27 26
29 28
29 27
32 32
32 31
34 32
34 31
36 32
36 31
37 38
37 37
40 38
40 37
41 38
41 37
42 41
42 40
43 42
43 41
47 48
47 47
48 48
48 47
50 52
50 ...

result:

ok moves = 299818

Test #30:

score: 0
Accepted
time: 446ms
memory: 45584kb

input:

299999 299997
CBBBCBCBBBBBCBBCCCCBBCBCBBCBCBBBCCBBBBCCCBBCBBCBCBCCCBBCBBBBCCBCCBBBBBCBCBCBBBBBCBBCCBBBBBCCBCCCCCBCBBBBCCCBBCCCBCCBBCCBBCCBBBBCCBCBBBBCCBCBCCBBCBBBCBCBBCBBCCCCCCCCBCBCCCBCCCCCBCCCCCCCCBBBCCBCCBBCCCCBCCCBBBCBCCCCCCBCBCCBBCBBBCBBCBCBCCBCBCBBBBBBBBCCCBCCBCBCCCCBCCBBBCBCCCBCBCCBCCCBCBBCCC...

output:

299540
2 4
1 4
5 4
4 4
6 4
5 4
11 6
10 6
13 11
12 11
13 12
12 12
13 16
12 16
13 17
12 17
15 18
14 18
16 22
15 22
18 24
17 24
19 29
18 29
22 31
21 31
22 36
21 36
26 38
25 38
26 40
25 40
26 45
25 45
28 49
27 49
30 56
29 56
31 57
30 57
32 58
31 58
32 63
31 63
32 65
31 65
34 67
33 67
38 69
37 69
38 73
3...

result:

ok moves = 299540

Test #31:

score: 0
Accepted
time: 363ms
memory: 45668kb

input:

300000 3
BBBCBBCBCBBBCBCBBBCCBCCBBBCCBCCBCBCCCCBBBBCBBCCBBBCCBCCBCBCBBBBBBBBCCCBCBBCBBCBBCBBBBCBCCBBBBBCCBBBBCBCBBCCCBBBCBBCCBBBCCCBBCBBBCBBCBCBCBCBCBBCBBCCBBBCCBCBBCCCCBBCBCBCCCCBCCCCBBCCBCCCCBCBBBCBBBCBCCBBCCCCCBCBCCBBBCBBBCCCBCCCCBCCCCCBBCCCBBBBBBBCCBCBCBCCCCCCBBBCCCCCCBCBCCBBBCBCCBBCCCCBCCBCCBCC...

output:

299680
299999 6
299999 5
300000 8
300000 7
1 9
1 8
3 11
3 10
4 12
4 11
6 17
6 16
8 17
8 16
9 18
9 17
10 20
10 19
12 22
12 21
14 23
14 22
15 25
15 24
16 27
16 26
19 31
19 30
22 32
22 31
23 37
23 36
24 37
24 36
27 37
27 36
30 46
30 45
32 50
32 49
37 50
37 49
38 51
38 50
39 56
39 55
40 56
40 55
42 60
4...

result:

ok moves = 299680

Test #32:

score: 0
Accepted
time: 442ms
memory: 45584kb

input:

300000 299997
CCCBCBBCCBCCCBCCCCCBBBCBCBBBCBCBBCBCBBBBCCBBCCBCBBCBBCBBCCCBBCBCCCCBCCCBCCCBBCCBCCCCBBBCBBCBBBCBBCBCCBCBBBBCCCCBCCCBBCBCCBCBCCBCCBCCBCBCCBCCCCBBCCCCBBCCBBCBBCBBBBBBBBBBBCCBCBBCCCBBCCBBCBBBBCBCCBBCCCCBBCBBCCBCBBBCBCCBBBCBBBCCBCBCCCBCCBBBBBBCBCBCBCCBBBBBBBCBCCBBCBCBCCCCCCBBCCBBBBCCBCCCCB...

output:

299862
2 5
1 5
2 5
1 5
2 5
1 5
3 7
2 7
5 15
4 15
5 16
4 16
6 18
5 18
6 28
5 28
6 29
5 29
7 30
6 30
7 35
6 35
7 40
6 40
7 41
6 41
7 50
6 50
10 55
9 55
11 56
10 56
14 61
13 61
15 63
14 63
17 69
16 69
18 70
17 70
22 71
21 71
22 78
21 78
24 83
23 83
24 85
23 85
25 86
24 86
27 88
26 88
29 91
28 91
31 93
...

result:

ok moves = 299862

Test #33:

score: 0
Accepted
time: 365ms
memory: 45704kb

input:

299999 3
BCBBBCBCCCBCCCBBBBCBBBBBCCBCCCCBCBBBBBBCBBCBCBCBBBBBBCBBBCCCBCBBBBBCCCBCBCBBBBBBBCBBBBBBCBCBBBCCCBCCBCCBCCBBBCCCBCCCBBBBCBCCBBCCCCBCBBBCBCCCBBCBBBBCCCCBCCCCBBBBCCCCCCBBBCCCBBBBCCBBCCBCBCCBBCBBCBBCBCBBBBBCCBBBBBCBBBCCBBBBCCCBBCBBCBBCBCBBCCBBCBBBCBCBCCCBBBBCBBBBBCBBCBBCCCCCCBCCCCBCBBBBBCCCBBC...

output:

299648
3 2
2 2
7 3
6 3
8 5
7 5
8 6
7 6
9 8
8 8
13 9
12 9
13 11
12 11
13 13
12 13
20 14
19 14
26 15
25 15
26 17
25 17
27 18
26 18
29 19
28 19
30 21
29 21
30 22
29 22
34 23
33 23
41 24
40 24
43 26
42 26
45 28
44 28
47 29
46 29
55 30
54 30
59 32
58 32
59 33
58 33
59 34
58 34
63 36
62 36
69 38
68 38
69 ...

result:

ok moves = 299648

Test #34:

score: 0
Accepted
time: 434ms
memory: 45592kb

input:

299999 299996
CBBCBCCCBBBCBCBBCBBBBBCBBCCBBCBBCCCBCCBCBCBBCBCCBBCBBBCCCBCBBBBCBCCBCCCCBBCCCCBCBBCBBBBCBBCBCCBBBBCBCCBBBCBBCBBCCCBBCBCCCBCBCCBCBCCBBCBCBCBBBBBCCCBBBBBCCBCBBCCBCBCBBCCCCCCBBCCBBBBBBBCCBCBCBBCBCCBCBBCBBCBCCBBCCBCBCBCBBBBBBBCCBCCBCBCCBBCCBBCBBBBCBBCCBBCCCCBCCBBBBCBCCBBBBCCCCCBCCCBCCBCBCC...

output:

299968
2 5
1 5
4 7
3 7
5 8
4 8
5 10
4 10
5 16
4 16
8 17
7 17
9 19
8 19
11 24
10 24
16 26
15 26
18 27
17 27
18 29
17 29
20 36
19 36
22 37
21 37
22 38
21 38
22 44
21 44
23 46
22 46
23 53
22 53
24 55
23 55
25 62
24 62
27 63
26 63
28 64
27 64
28 65
27 65
30 70
29 70
33 71
32 71
33 72
32 72
33 79
32 79
3...

result:

ok moves = 299968

Test #35:

score: 0
Accepted
time: 359ms
memory: 45660kb

input:

300000 4
CBBBBBCBCCBBBCBCBBCBCBBBCBBBCBBCCCBBCBCCCCBBBBCCCBBCBBCCBBCBBCBBCBBBBBCCBBBCBBBCBBCBBBBBBCCCBCCCCBBBBBBBCBBBCBCBCCCBBBCBCCCCBBBBBCBCBCCBCCCCBCCCBBBCCCBBBCCCCBCBCBBBBBCBBCBBBBCCCBCBBCCBBCBCBCCBCBBBBCCBCCBCBCBCBBBCCCBBCBBCCCBBBCCBBBBBCCCCCCCBBBCBCCCCBCBBBCCCBBBCBBCCBCBCBCBCBCCCBCCCCBCCBCCCBBB...

output:

299674
299999 3
299999 2
300000 3
300000 2
1 3
1 2
2 8
2 7
3 9
3 8
5 18
5 17
8 19
8 18
9 19
9 18
10 21
10 20
12 23
12 22
14 25
14 24
15 25
15 24
17 26
17 25
19 31
19 30
20 31
20 30
21 42
21 41
23 42
23 41
24 42
24 41
25 47
25 46
27 47
27 46
28 47
28 46
32 47
32 46
33 54
33 53
35 54
35 53
40 55
40 54...

result:

ok moves = 299674

Test #36:

score: 0
Accepted
time: 454ms
memory: 45768kb

input:

300000 299996
CBCBCBBCCCCBBCBBCBBBCCCBBCCCCBBCBCCBBCCCCBCBBCCBBBCCCBCBCCCCCCBCCBCBBBBBCBCCBBCCCCCBBBBBCBBCCBBCCCCBBBCBBCCBCBCBBBCCCBCBCCBBBBCCCBCCBCBCBBBCBCCCBBCCBCCCBCBBCCCCCCBBBCCBCBCBBCBBBBCBBBCBBCBBBCCBBBCBCCCCBBCBCCCBBCBCBBCCCCBBCCBBCCBBBCCCBCBBCBBCCCCCBCBCCCBCCCCCCBCBBCBCBCBCBCCBCBBBCBCCCBBBCC...

output:

299466
7 3
7 2
9 3
9 2
11 4
11 3
13 4
13 3
21 4
21 3
22 5
22 4
24 5
24 4
25 5
25 4
31 8
31 7
32 11
32 10
33 11
33 10
40 11
40 10
41 11
41 10
48 11
48 10
49 11
49 10
51 15
51 14
57 15
57 14
58 16
58 15
65 17
65 16
67 18
67 17
68 18
68 17
74 18
74 17
75 21
75 20
76 21
76 20
83 21
83 20
85 24
85 23
94 ...

result:

ok moves = 299466

Test #37:

score: 0
Accepted
time: 359ms
memory: 45640kb

input:

299999 4
BBBCCBBBBCCCBCCCBCCCCBBBBBCBCCCBCBCBCCCBBBBBBBCBBBBCBBBBCBCCBCCCCCCBCCBBBCCCCCBBBCBCCBBBCBCBBCBCBCBCBBCBCBBBCBCBBBCCCCBCBBCCCBBBBCBBBBBBBBCCBCCBBCBBCCCCBCBCBBCBBCBBCBCBBBCCCCCCBBBBBBCBCBCCCCCCBBCBBCBBBCCBBBBBBBCBBBBBBCBCCBCBCCCCBBCCCCBBBBCCBCBBCCBCCCBCBCBBCCCCBBCBBBCBCBCCBBCBCBCCCCCBBCBCCCC...

output:

299540
5 299997
4 299997
5 299998
4 299998
11 1
10 1
11 3
10 3
11 4
10 4
12 6
11 6
15 8
14 8
16 10
15 10
17 14
16 14
18 15
17 15
19 18
18 18
20 19
19 19
28 20
27 20
29 21
28 21
29 28
28 28
29 30
28 30
34 33
33 33
35 37
34 37
36 38
35 38
37 39
36 39
38 46
37 46
48 47
47 47
53 48
52 48
58 49
57 49
59 ...

result:

ok moves = 299540

Test #38:

score: 0
Accepted
time: 439ms
memory: 45776kb

input:

299999 299995
BBBBCCCBBBBBBBBCCBCBCBBBBCCCCBBCCCBBBBBCBBBCBBBCCBBCCCCBCBCBCCCCBBCBBCCBBBCBBBCBBBBBBBBCCBBCBBBBBBBCCCBCCBBBCBCBCCBBCBBCBCBBBBCBCBBCBCBCBBCCCBCCBCBCCBBBCBBCBCCBBCBCBBBBCCBCBCBCCCCBCCCBCBCCBCCCCBBBBBBCBCBCBCBCCBCBBBCCBBBCCBCBCCCBBBBBCCCBCCBCBCBCCCCBBCCCBBBBBCBBCCBBCBCCBBCCBBBBBBBCCCBCBC...

output:

299896
6 6
5 6
6 7
5 7
6 10
5 10
14 14
13 14
14 16
13 16
15 18
14 18
16 24
15 24
20 25
19 25
20 26
19 26
20 35
19 35
20 42
19 42
22 43
21 43
22 45
21 45
22 46
21 46
27 49
26 49
30 53
29 53
33 56
32 56
33 60
32 60
35 62
34 62
35 63
34 63
35 66
34 66
35 73
34 73
36 74
35 74
37 77
36 77
38 81
37 81
38 ...

result:

ok moves = 299896

Test #39:

score: 0
Accepted
time: 377ms
memory: 45816kb

input:

300000 3210
CCBBCBBCCBBBBCBBCBBCCCBCCCBBBBBCBBCBBCBCBCCBBCBBBCCCCCBBCCCCCCCCBBCBBBBBCCCBBCBBBBCCBBBCCCCBBBBBBCBBBCBBCCBBCCCBCBCCCCCCBCBBBCBCBBBCCCBCBCCCCBCBBCCBBBBBCBBBBCBBCBBCCCBCCBCCCBBCCBCCCCCCCCBCCBBCBBBBBBCBBBBBCBBCBCCBBBCBBCBCCBBBCCCCBCCBBBBBCBCBBCBBBBBBBBBCCCCBCBCCBCCCCCBBBCBBBCCBBCCCCCBBBCBC...

output:

299636
296794 8
296794 7
296795 12
296795 11
296797 12
296797 11
296798 12
296798 11
296801 13
296801 12
296802 13
296802 12
296803 13
296803 12
296804 16
296804 15
296806 16
296806 15
296807 16
296807 15
296809 17
296809 16
296810 17
296810 16
296814 17
296814 16
296818 18
296818 17
296819 18
29681...

result:

ok moves = 299636

Test #40:

score: 0
Accepted
time: 476ms
memory: 45840kb

input:

300000 296790
BBCCBBCBCBBCCCCBBBCBBBCCCBBCCCCBCCCCBCCCBBCCBCBBBBBBBBCBCBCBCBCCBCBBCBBBBCBCBCCCCBBBBCCBCCBCCCCCCCCBBCBCBCBCCCBCCBCCBCBCBCCBCCBCBBBCCCCCBBBCCBCCCBBBBBCCBBCCBBCCCBCBBCBCCCBCBBCCBCBCCCCBCBBCBBBBCCCCBBCCBCCCBCBCBBBCBBCBBCBBBBBBCCCBBBCCBCCBBCCCCBBBCBBBCBCBCBBCBCBBBBCCCCBCBBCCBBBCBCBCCBBCBB...

output:

299960
4 3214
3 3214
4 3217
3 3217
6 3218
5 3218
7 3220
6 3220
9 3222
8 3222
9 3224
8 3224
9 3225
8 3225
9 3228
8 3228
12 3231
11 3231
15 3236
14 3236
15 3238
14 3238
15 3241
14 3241
17 3242
16 3242
17 3245
16 3245
17 3247
16 3247
17 3250
16 3250
18 3252
17 3252
18 3253
17 3253
18 3257
17 3257
18 32...

result:

ok moves = 299960

Test #41:

score: 0
Accepted
time: 352ms
memory: 45820kb

input:

299999 3210
CBCBCBBCCCBBBBCCBCBCCCBBCBBCBBCBCCCCBCBCCCCBBBCBBBBCBCBCCBCBBBCBCBBCCBCCBBCCCCBCCBCCBBBBCBCCCBBBBCCBCCCCBCBCBBCCBBBBCCBBCCBBCBCBCCBCBCBBCCBCCCCCBCBBBBBBCBCCCCBCBBCCCCCCBBCCCCCBCBCBBCBCCBBCCBCCBBBBCBBCCCCCCBBCBBCCCCCBCCBBBBBBCBCCCCBCBBCBCBBBBBCCCCCBBBBCCCBCBBBBBCBCBBCBBBBBBCCCCCBBBBCCCBBB...

output:

299944
2 296791
1 296791
3 296795
2 296795
4 296796
3 296796
6 296797
5 296797
6 296798
5 296798
6 296799
5 296799
10 296800
9 296800
10 296802
9 296802
11 296803
10 296803
12 296805
11 296805
12 296806
11 296806
12 296807
11 296807
14 296809
13 296809
16 296811
15 296811
18 296812
17 296812
19 2968...

result:

ok moves = 299944

Test #42:

score: 0
Accepted
time: 451ms
memory: 45820kb

input:

299999 296789
CCCBBCCCCCCCBCBCBBCBBCCBBCBBCBCCBBBCCBBCCBBCCBCBCCBBCBBBCBCBCCBBCBCBCCBBBCBCBCBBBCCCBCBBCBBBCBBCBBBBBCBBCCBCCCCCCCCBBCCCCCCCBCCBBBBCCBBBCBCBBCCBCCCCBCCCCCCBCCBBBBBCCBBBBCBBBCBBCCBCCCCCCBCCBBCBBCBBCCCBBBCBBBCBCBBBBBCBCBBCCBCBBCBBBCCBCBBCBBBCBCBBBBBCCBBBBCCCCCBCBBBBCBCCCCBBBCCBBBCCCCCCBB...

output:

299914
3215 2
3215 1
3216 2
3216 1
3224 4
3224 3
3226 8
3226 7
3228 9
3228 8
3229 9
3229 8
3231 10
3231 9
3232 14
3232 13
3235 14
3235 13
3236 14
3236 13
3238 17
3238 16
3239 20
3239 19
3241 24
3241 23
3244 24
3244 23
3245 24
3245 23
3246 24
3246 23
3249 24
3249 23
3250 25
3250 24
3253 26
3253 25
32...

result:

ok moves = 299914

Test #43:

score: 0
Accepted
time: 423ms
memory: 45620kb

input:

300000 98765
BBCBBCCBCBBBBCBCCCBBCBCBCCBCBBBBBCCBCBCBCCBCCCCCBCCCBCBBBBCCBCCBCCBBBCCBCCCCBBBCBCCCCCBCBCCCBBBCCBBBBCCCCBBBCBBBBBCBBCBCCCBCCBCCCCBBCBBBBBCCCBBBCCCBBBBBCCCBBBBBBBBCCCCCCBCBBBBBCBCBBCCBCBBCCBCBCCCBBCCBBBBCBCCBCBCBCCCCCBCBBCBCBBCBBBBBBBCCBBBCCBCCBCBCBBCCCCBCBBBBCBBCBCBCBBBBBBBBCCCBBBBCCCB...

output:

299684
201237 3
201237 2
201237 4
201237 3
201237 4
201237 3
201238 7
201238 6
201240 7
201240 6
201241 9
201241 8
201244 10
201244 9
201246 11
201246 10
201247 13
201247 12
201248 13
201248 12
201249 16
201249 15
201251 16
201251 15
201255 16
201255 15
201256 19
201256 18
201258 22
201258 21
201260...

result:

ok moves = 299684

Test #44:

score: 0
Accepted
time: 466ms
memory: 46100kb

input:

300000 201235
BBCCCBBBBCCCCCBBBBBBCCBBBBCCCBBBBCBBBCBBBBCBCBBBCCCBBCBCCBCBCBBBCBBBCCCCBBCCBBBCBBCBCCCCBBCBCCCBBCCCCCCBCBBCCCBCCBBBBCBBBCCCCBBCCBBCCCCBCCCBCBBBCCCBBCBBCCCBCBBCBCBCCBBBBBBCBCCCBBBCBCBBBBBBBCCCBCCCBBCBBBCCBCBBCBBCCBCCBBCBBBBCBBBBBBCBCBBCCBCCBCCCBCCBBCBBCCCCCBBCCCBCBCBCCCCBCBBCBCBCBCCCBB...

output:

299440
98767 2
98767 1
98768 2
98768 1
98772 3
98772 2
98773 5
98773 4
98774 7
98774 6
98775 7
98775 6
98781 7
98781 6
98782 8
98782 7
98783 8
98783 7
98784 9
98784 8
98785 10
98785 9
98786 10
98786 9
98789 11
98789 10
98790 11
98790 10
98791 11
98791 10
98792 11
98792 10
98796 11
98796 10
98797 11
...

result:

ok moves = 299440

Test #45:

score: 0
Accepted
time: 434ms
memory: 46220kb

input:

299999 98765
CCBBCCBCBCBCBCCBBBCBCBBCCBBCBCCCBCBBCBBBCBCBCBCBBCBCCBCBBCCCBBBCCCBBCBBCCBBCBBBBCCBBBBBBBCCCCCBBBCBCCCCBCBBCBBBCBBCBCBCBCBBCCBCCCBCBCBCBBCBBCBBBCCCCCCBBCCBBBBCCBCCBBBCBCCBBCCBCCBBBBCBBBCCCCCCCCBCBCCCCCCBCCCBBCBBCBCCCBCCCCCCBBCBCBCCBBBBCBBCBBBCCCBCCCBCBCBBCBCCCBBBCBCBBCCCCCCCBBBCCCBCBCCC...

output:

299904
2 201236
1 201236
2 201239
1 201239
4 201246
3 201246
4 201247
3 201247
5 201249
4 201249
6 201253
5 201253
7 201254
6 201254
8 201261
7 201261
8 201262
7 201262
11 201263
10 201263
12 201264
11 201264
14 201269
13 201269
14 201270
13 201270
16 201271
15 201271
17 201272
16 201272
17 201274
1...

result:

ok moves = 299904

Test #46:

score: 0
Accepted
time: 450ms
memory: 45764kb

input:

299999 201234
CCBBCCCBCBCBCBBBCCBCBCCBCCCCCCBCBCBBBBCBCCCBCBBCCCBBBBCBBBCBCBBBCCBCCCCCCBCCBCBCBCBCBBBCCBCBCCCBBBCBCBCBBBBBBCBBBCBCBBCBBCCBBBBCBCCBBBBCCCCCCCCCCBBBCCBCCBCCBBCBCBBCBBBBCCCBBBBCBCCBCCBBCCCBCCCBBBCCCBCCBCBBBBCCCBBCCCBCCCCBBBCBCCBCCCCCBCBBCCCCBBCBCBCCBCBBBBBCCBBCCBBCBBCCBCCBBCCBCBCCBBBBBB...

output:

299526
2 98767
1 98767
2 98767
1 98767
4 98768
3 98768
4 98771
3 98771
4 98773
3 98773
5 98776
4 98776
6 98780
5 98780
7 98781
6 98781
10 98782
9 98782
10 98784
9 98784
11 98785
10 98785
12 98788
11 98788
12 98789
11 98789
13 98790
12 98790
13 98791
12 98791
13 98792
12 98792
13 98794
12 98794
13 98...

result:

ok moves = 299526

Test #47:

score: 0
Accepted
time: 429ms
memory: 45624kb

input:

300000 150000
CBBBBCCBCBBBBCBBBCBCBCBBCBBBBCBBCCBCCCBBBBCBCBBBBBBCCCCCCBCBBCCBCBCBBCBCBBBBBBCBCBBBBCCBCCCBBCCCBBCCCBBBBCCCCCBCCBCBBCCCCBCBBBBBBBBBBBBBBBCBBBCBBBBCBBBCCCBCBCCBBBCBBCCCCCCBBBCBBCBCBCBBCBCCCCBCCCCCCCCCBCCCBCBBBBBBBCBBCBBBBBBCCBBBBCCCCCCBBBCCCCCBCBCBBCBBCBCBCBBBCBBCCCBCCBCCBCBCBCBBBBBCBC...

output:

299434
2 150004
1 150004
6 150008
5 150008
6 150009
5 150009
7 150014
6 150014
11 150015
10 150015
14 150017
13 150017
15 150018
14 150018
16 150020
15 150020
18 150021
17 150021
22 150029
21 150029
24 150030
23 150030
24 150031
23 150031
25 150032
24 150032
25 150033
24 150033
25 150034
24 150034
2...

result:

ok moves = 299434

Test #48:

score: 0
Accepted
time: 440ms
memory: 45632kb

input:

300000 150000
BCCCCCCBCBBCCBBBBCBCCBCBCBCBCCCBCBCBBBCCCBCBBBCBBBBBBCBCBCCCBCCCBCCBBBBBCBCCCBCBCCCBCCBBCCBBBCBBBCBBCBCCBBBCBCCCBCBBCBCCCCBCCCCCBBCBCBCBBBCCBBCCBCCBCBBCCBBCCBBBBCCCBBCCBBBBBCCBCCBBBBBCBBCCBCCBBBCBBBBBBCCBBCCBBCBCBCCCBCBCCCBCBCBCBCCCBCCCCCBCCCCCBBBBBCCCCCBCBCCBCBBCCCCCBCBBCCBCBCBBCCBBCB...

output:

299902
150002 2
150002 1
150002 2
150002 1
150002 2
150002 1
150009 4
150009 3
150011 4
150011 3
150012 5
150012 4
150015 7
150015 6
150016 7
150016 6
150017 8
150017 7
150018 8
150018 7
150020 10
150020 9
150023 10
150023 9
150025 10
150025 9
150027 10
150027 9
150029 11
150029 10
150033 12
150033 ...

result:

ok moves = 299902

Test #49:

score: 0
Accepted
time: 446ms
memory: 45860kb

input:

299999 150000
BCBCBBBBCCBCCCCCBCCBCBBCCBCBBBBBCBBBBCBBBCCCBCBBBBBBBBCCCBCCCBBCBBBCCCBBCBBCBBBCCBBCCBCCBBBCBBBCBBBBCCCCBBBBBCCCBCCBCBBBCBCCBCBCBCBBBCBCCCBBCCCCBCBBCCBBCCBCBCCBCCCCBCCCBCCBCCBBBCBCBCCBBCCBBCBBCCCCBCBBCCBCCBBBCBCBBBCCBCCCBBBBCBCBBCBBBCBCBBCCBCCBCCCBCCBCBCBCCBCBCCCBCCBBBCBBBCCBBCCBCBBCBC...

output:

299908
150001 2
150001 1
150001 2
150001 1
150001 5
150001 4
150001 6
150001 5
150001 6
150001 5
150003 6
150003 5
150005 7
150005 6
150006 7
150006 6
150007 7
150007 6
150008 14
150008 13
150011 14
150011 13
150017 17
150017 16
150020 20
150020 19
150022 20
150022 19
150023 20
150023 19
150026 22
1...

result:

ok moves = 299908

Test #50:

score: 0
Accepted
time: 408ms
memory: 46844kb

input:

299999 149999
CCCCBBBCBCBCCCBBCBBBCCCBBBBCCCBCBBCBBBBCCCCBBBCBBCCBCCCCCCCCBCCCBCBBCBBCBCBCCCCCCCBBBBBCBBCBCBCBBCCCBCBCCBBCBBBCCCCCBBBCCCBBCBBBBCCBCBBCBCCBCBCCBBCBBCBBCCBCCBBCCBBBCCCBCCCBCCCBBCCCCCBCBBCCCBCBCCBBBCCBCCCCBBCCBCCCCBCCCBBCBCCBBBCCCBCCBCCCCCCCBCCBBBCBBCCBBBCCBCBCBCBCCCBCBBCCBCBCBBCCCBCCCC...

output:

299948
150006 2
150006 1
150007 3
150007 2
150008 6
150008 5
150010 6
150010 5
150012 6
150012 5
150016 6
150016 5
150017 7
150017 6
150019 7
150019 6
150020 10
150020 9
150021 10
150021 9
150025 10
150025 9
150026 14
150026 13
150027 14
150027 13
150028 17
150028 16
150032 18
150032 17
150034 19
15...

result:

ok moves = 299948

Test #51:

score: 0
Accepted
time: 435ms
memory: 46600kb

input:

300000 150001
CBBCCCBBCBBBCCCCBCCCBBBCBBCBCCBBCBCCBCBCCBBBCBCBBBBCCBCBBCCBCCBBCBCCCCCCCCBBCCCCBBCBBCCBBCBBCBBCBBCBBCBBBCBBBBCBBBBCBBBBBCBCBBBCBBCCCBBBBCCBBBBCCBBBCBBCCBCBCBCBBBBBBCCBBCCCCCBBBCBCBBCCBCCCCBBBCBBBBCCCCCCCBBCCCCBBCBBCCBBBCBBCBCCCCBBCBCCBBCBCCBCBBCCBBBCBCCCCBBBBCBBBBBBBBBCCCBBBBCBBBCCBCC...

output:

299890
2 150001
1 150001
4 150001
3 150001
4 150001
3 150001
4 150003
3 150003
6 150004
5 150004
9 150008
8 150008
9 150009
8 150009
9 150012
8 150012
9 150013
8 150013
10 150014
9 150014
10 150016
9 150016
10 150017
9 150017
13 150020
12 150020
15 150021
14 150021
16 150023
15 150023
16 150025
15 1...

result:

ok moves = 299890

Test #52:

score: 0
Accepted
time: 431ms
memory: 46764kb

input:

300000 149999
BBBBCBBCCCBCCBBCBCCCCBBCCBBCBCBBBCCBCCBCCCBBBBCBCCCCBCCBBCCCCCCBCCCBBBCCCBCCCBCCCBCCBCBCCCCBBCCCBBCBCBBBCBCBBBBBBCBCCBCBCCCBBBBBBCCBCCBCCBBBCBCBBBBBCCBBBCCCBBBBBBBBCCCBCCCBCCBBCBCBCCBCCBCCBCBBBCCCCBCCCBCBBBCCBBCBCBBCCBCCBBCBCCBBBBCCCCBCBBCCCCBBBBCCBCCCCBCCCCBBCBBBBBCCBCBCCCBCBCCBCBCCCC...

output:

299656
150003 2
150003 1
150004 4
150004 3
150005 6
150005 5
150006 7
150006 6
150008 10
150008 9
150009 17
150009 16
150013 17
150013 16
150016 21
150016 20
150017 23
150017 22
150019 25
150019 24
150024 25
150024 24
150025 27
150025 26
150028 33
150028 32
150029 33
150029 32
150031 33
150031 32
15...

result:

ok moves = 299656

Test #53:

score: 0
Accepted
time: 418ms
memory: 46548kb

input:

299999 150001
BCBCBCBBCBCBBCBCCCCCBCBCBBBCCCBCBCBCBCCBCCBBBCCBCCCCBCCBCCBBCBCBBCBCBCBBBBBCCBBBBCCBCBCBCCBBCBCCCBCBBCBCBBCBBBBCBBBCBBCBBBBCCBCBCCBCBCCBBCBCBCBBBCBBCCBBBCBBBBBCCCBBCBBBCBBBBCCBBCBCCBBCCBCBBCBBCBBBBBCBCBCBBBBBBBBCCBCBCCBBBBCBBCBBBCCCCCBBCBBBBCCCBCBCBCBCBCBCCCBBCBBCCBCCBCBCBBBBBBCCBCBBBC...

output:

299792
3 150001
2 150001
4 150002
3 150002
5 150005
4 150005
7 150008
6 150008
8 150011
7 150011
10 150012
9 150012
11 150013
10 150013
11 150014
10 150014
11 150018
10 150018
11 150020
10 150020
11 150022
10 150022
12 150025
11 150025
13 150031
12 150031
16 150032
15 150032
16 150033
15 150033
16 1...

result:

ok moves = 299792

Test #54:

score: 0
Accepted
time: 442ms
memory: 46840kb

input:

299999 149998
CBCCBCBCBCCBCCCCCBBCBCBCCCBCCCBBCBCBCCBBCBBCBBBCBBCCBCCBBCBBBBCCCBBCCBCBBBBBBBCBCCBBBCBBCCCCBBCBBCBCBCCBBCCCBCCCBBBCCBCBCBCBBBCBCCBBBCBCBCBCCCBCCBCCCBCCCCBCCBBCBBCBCCCCCBBCCCBBCBBCBBBCCBBCBCBCCBCBBCCBBBBBBBBBCCCBCCBBCCCCBBCBCCBCCCCCBBCCBCBCCBCCBCCBCBBBCBCCCCBBBBCBBBCBBCBBCCCBCBCBCBBBCB...

output:

299972
150004 2
150004 1
150007 3
150007 2
150009 3
150009 2
150011 3
150011 2
150014 3
150014 2
150020 3
150020 2
150021 4
150021 3
150023 5
150023 4
150025 6
150025 5
150029 6
150029 5
150033 6
150033 5
150034 7
150034 6
150036 8
150036 7
150038 12
150038 11
150041 12
150041 11
150042 17
150042 16...

result:

ok moves = 299972

Test #55:

score: 0
Accepted
time: 391ms
memory: 38712kb

input:

262143 194294
CBBBCCCBCBBBCBBCBCBCBCCBCCCBCBCCCBCCCCBCBBBCCCCBCCCCBBBBCBBCBCCBCBCCCBCCCBCCCBBBBCCCCCCCCBBCCBBCBCBBBBCBCCBBBBCCCBCBCBCCBCCCBCBCBCBBBBBBBCBBCCCCBBCCBCBCBBCBCCCBCBBBCCBBBBCBCCBCCCCCBCBBBBCBBBBBBBBBBBCBBCBCBCBBCCBCCBBCBCCCBBBBCCBCCBBBBCBCCCBBBCBCBCCCBCCBBBCCBBCBCCBBBCCBBCCCBCCCBCBBBCCCBC...

output:

262120
2 67857
1 67857
5 67859
4 67859
5 67860
4 67860
5 67861
4 67861
6 67862
5 67862
9 67864
8 67864
11 67867
10 67867
12 67870
11 67870
13 67871
12 67871
14 67872
13 67872
14 67874
13 67874
15 67875
14 67875
15 67876
14 67876
15 67878
14 67878
16 67880
15 67880
17 67881
16 67881
17 67882
16 67882...

result:

ok moves = 262120

Test #56:

score: 0
Accepted
time: 388ms
memory: 38732kb

input:

262144 149222
BBCCBCCCCCBCCCCCBCCBCBBCBCBCBBCCCCCBBBBBBBCCCBBBCCCCCBCBBCBCBCCCCCBCBBBBBBBCCCCBCBCBCBBBBBCBBBBCCBCCCBCCBCBCCCBBBCCCCCCBCCBBBCCBCBBBBCCCBBBCBCBBCBCCBCBCBBBCCBBCBBCBCCCCBCCCCBBCCCBCBCBCBBBCCCBCCBCCCCBCCCBCBCCBBBCBCBBCBCCBBCBBBBBBBBBBCBCBBBBCCCBCBCCCBBBBCCCBBBBCBBBCBCCCBBBCBCBBCBCBCCCCBC...

output:

261936
4 112924
3 112924
4 112925
3 112925
5 112927
4 112927
5 112928
4 112928
5 112929
4 112929
5 112932
4 112932
5 112933
4 112933
6 112935
5 112935
6 112937
5 112937
6 112939
5 112939
6 112940
5 112940
6 112941
5 112941
7 112946
6 112946
7 112947
6 112947
8 112948
7 112948
10 112949
9 112949
11 1...

result:

ok moves = 261936

Test #57:

score: 0
Accepted
time: 363ms
memory: 38892kb

input:

262145 120549
BCBCBCCBCBBBBBCBBBCBCBCCCBBCCCCCCCCBCCCCCBBCCBCBBBBCCCBCBBCBBCCCCBCCCCBBBBCCBCBCBBBBCBBCBCBCBCCCBBCBBCCCBCCBBCCCBBCBCCCCCBCCCBCBCCBBCCBCCCBCBCCCCCBCBCBCBBCBCCCCBCBBCCBCCBCCCBBCBCBBBBCCCCCBBCBCCBBBBCCCCCCCBCBBCCCBBCCBBBBCCBBCBBCBBBCBCCBBBBBBBBBBBBBCBBCBBCBCCBBBBBBCBBBBBBBCBBCCCBBBBBCBCB...

output:

261964
141598 8
141598 7
141598 9
141598 8
141600 9
141600 8
141602 9
141602 8
141605 11
141605 10
141607 13
141607 12
141608 14
141608 13
141609 16
141609 15
141610 19
141610 18
141611 19
141611 18
141613 19
141613 18
141614 20
141614 19
141615 20
141615 19
141617 21
141617 20
141619 21
141619 20
1...

result:

ok moves = 261964

Test #58:

score: 0
Accepted
time: 460ms
memory: 47096kb

input:

299997 265881
CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB...

output:

299996
2 34119
1 34119
3 34121
2 34121
4 34123
3 34123
5 34125
4 34125
6 34127
5 34127
7 34129
6 34129
8 34131
7 34131
9 34133
8 34133
10 34135
9 34135
11 34137
10 34137
12 34139
11 34139
13 34141
12 34141
14 34143
13 34143
15 34145
14 34145
16 34147
15 34147
17 34149
16 34149
18 34151
17 34151
19 3...

result:

ok moves = 299996

Test #59:

score: 0
Accepted
time: 426ms
memory: 46320kb

input:

299998 76325
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCB...

output:

299998
3 223675
2 223675
4 223677
3 223677
5 223679
4 223679
6 223681
5 223681
7 223683
6 223683
8 223685
7 223685
9 223687
8 223687
10 223689
9 223689
11 223691
10 223691
12 223693
11 223693
13 223695
12 223695
14 223697
13 223697
15 223699
14 223699
16 223701
15 223701
17 223703
16 223703
18 22370...

result:

ok moves = 299998

Test #60:

score: 0
Accepted
time: 461ms
memory: 47396kb

input:

299999 236065
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC...

output:

299998
3 63936
2 63936
4 63938
3 63938
5 63940
4 63940
6 63942
5 63942
7 63944
6 63944
8 63946
7 63946
9 63948
8 63948
10 63950
9 63950
11 63952
10 63952
12 63954
11 63954
13 63956
12 63956
14 63958
13 63958
15 63960
14 63960
16 63962
15 63962
17 63964
16 63964
18 63966
17 63966
19 63968
18 63968
20...

result:

ok moves = 299998

Test #61:

score: 0
Accepted
time: 414ms
memory: 46380kb

input:

300000 46255
CBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC...

output:

300000
2 253747
1 253747
3 253749
2 253749
4 253751
3 253751
5 253753
4 253753
6 253755
5 253755
7 253757
6 253757
8 253759
7 253759
9 253761
8 253761
10 253763
9 253763
11 253765
10 253765
12 253767
11 253767
13 253769
12 253769
14 253771
13 253771
15 253773
14 253773
16 253775
15 253775
17 253777
...

result:

ok moves = 300000

Test #62:

score: 0
Accepted
time: 401ms
memory: 46040kb

input:

299997 56982
BBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBC...

output:

299996
4 243017
3 243017
4 243018
3 243018
5 243021
4 243021
7 243023
6 243023
8 243024
7 243024
8 243027
7 243027
9 243028
8 243028
11 243030
10 243030
11 243033
10 243033
13 243035
12 243035
14 243036
13 243036
14 243038
13 243038
16 243041
15 243041
16 243042
15 243042
17 243045
16 243045
19 2430...

result:

ok moves = 299996

Test #63:

score: 0
Accepted
time: 438ms
memory: 45848kb

input:

299998 129345
CCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBB...

output:

299998
2 170655
1 170655
2 170655
1 170655
4 170658
3 170658
4 170659
3 170659
5 170661
4 170661
7 170664
6 170664
7 170666
6 170666
9 170667
8 170667
10 170669
9 170669
10 170672
9 170672
12 170673
11 170673
12 170676
11 170676
13 170678
12 170678
15 170679
14 170679
16 170682
15 170682
16 170683
1...

result:

ok moves = 299998

Test #64:

score: 0
Accepted
time: 462ms
memory: 46332kb

input:

299999 265635
CBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCB...

output:

299998
34367 3
34367 2
34369 4
34369 3
34370 4
34370 3
34373 5
34373 4
34374 7
34374 6
34376 8
34376 7
34379 8
34379 7
34381 10
34381 9
34382 10
34382 9
34384 11
34384 10
34387 13
34387 12
34388 13
34388 12
34391 15
34391 14
34393 16
34393 15
34394 16
34394 15
34396 18
34396 17
34399 18
34399 17
344...

result:

ok moves = 299998

Test #65:

score: 0
Accepted
time: 441ms
memory: 46392kb

input:

300000 172035
BBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCBCCBCBBCCBBCBCCBBCCBCBBCCBBCBCCBCBBCBCCBBCCBCBBCCBBCBCCBBCCBCBBCBCCBC...

output:

300000
4 127967
3 127967
4 127967
3 127967
5 127970
4 127970
7 127972
6 127972
7 127973
6 127973
9 127976
8 127976
10 127977
9 127977
10 127979
9 127979
12 127982
11 127982
12 127984
11 127984
13 127985
12 127985
15 127987
14 127987
16 127990
15 127990
16 127991
15 127991
17 127994
16 127994
19 1279...

result:

ok moves = 300000

Test #66:

score: 0
Accepted
time: 95ms
memory: 41424kb

input:

300000 143374
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

0

result:

ok moves = 0

Test #67:

score: 0
Accepted
time: 84ms
memory: 41192kb

input:

300000 59002
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

0

result:

ok moves = 0

Test #68:

score: 0
Accepted
time: 84ms
memory: 41340kb

input:

299999 85730
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

0

result:

ok moves = 0

Test #69:

score: 0
Accepted
time: 78ms
memory: 41224kb

input:

299999 52075
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

0

result:

ok moves = 0

Test #70:

score: 0
Accepted
time: 137ms
memory: 41192kb

input:

300000 234800
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

2
153043 61314
153042 61314

result:

ok moves = 2

Test #71:

score: 0
Accepted
time: 139ms
memory: 41224kb

input:

300000 24663
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

2
162953 296507
162953 296506

result:

ok moves = 2

Test #72:

score: 0
Accepted
time: 117ms
memory: 41196kb

input:

299999 82421
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

2
175079 70453
175078 70453

result:

ok moves = 2

Test #73:

score: 0
Accepted
time: 108ms
memory: 41404kb

input:

299999 103379
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

2
181904 23379
181904 23378

result:

ok moves = 2

Extra Test:

score: 0
Extra Test Passed