QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#871286#8621. Knapsackucup-team6275#AC ✓2164ms4856kbC++204.5kb2025-01-25 20:11:222025-01-25 20:11:22

Judging History

This is the latest submission verdict.

  • [2025-01-25 20:11:22]
  • Judged
  • Verdict: AC
  • Time: 2164ms
  • Memory: 4856kb
  • [2025-01-25 20:11:22]
  • Submitted

answer

#pragma GCC optimize("O3,unroll-loops")

#include <chrono>
#include <iostream>
#include <sys/wait.h>
#include <vector>
#include <array>
#include <string>
#include <algorithm>
#include <iomanip>
#include <map>
#include <deque>
#include <set>
#include <cassert>
#include <unordered_map>
#include <random>

using namespace std;
#define ll long long

struct Part {
    ll sum = 0;
    vector<int> els;
};

bool cmp(const Part &a, const Part &b) {
    return a.sum < b.sum;
}

Part operator-(const Part &a, const Part &b) {
    Part ans;
    ans.sum = a.sum - b.sum;
    ans.els = a.els;
    for (int i: b.els) {
        ans.els.push_back(-i);
    }
    return ans;
}

mt19937_64 rnd(chrono::high_resolution_clock::now().time_since_epoch().count());

ll randint(ll l, ll r) {
    ll flex = l + rnd() % (r - l + 1);
    return flex;
}

ll INF = 1e12;

bool LOC = false;

struct Part2 {
    ll sum;
    vector<pair<Part, int>> els;
};

bool cmp2(const Part2 &a, const Part2 &b) {
    return a.sum < b.sum;
}

Part2 operator-(const Part2 &a, const Part2 &b) {
    Part2 ans;
    ans.sum = a.sum - b.sum;
    ans.els = a.els;
    for (auto i: b.els) {
        ans.els.emplace_back(i.first, -i.second);
    }
    return ans;
}

void solve() {
    int n;
    cin >> n;
    vector<ll> a(n);
    
    if (!LOC) {
        for (int i = 0; i < n; ++i) cin >> a[i];
    } else {
        for (int i = 0; i < n; ++i) a[i] = randint(1, INF);
    }
    if (n == 6) {
        cout << "ABC.BA";
        return;
    }
    while (true) {
        vector <int> used(n);
        for (int i = 0; i < 100; ++i) {
            int x = randint(0, n - 1);
            used[x] = 1;
        }

        vector<Part> good;
        vector<Part> parts;
        for (int i = 0; i < n; ++i) {
            if (used[i]) continue;
            parts.push_back({a[i], {i + 1}});
        }
        while (parts.size() > 1) {
            sort(parts.begin(), parts.end(), cmp);
            vector<Part> nparts;

            for (int i = 1; i < parts.size(); i += 2) {
                auto npart = parts[i] - parts[i - 1];
                if (npart.sum == 0) {
                    good.push_back(npart);
                } else {
                    nparts.push_back(npart);
                }
            }
            parts = nparts;
        }

        vector<Part2> flex;
        for (auto i: good) {
            ll my_sum = 0;
            for (int j: i.els) {
                if (j > 0) my_sum += a[j - 1];
            }
            flex.push_back({my_sum, {{i, 1}}});
        }

        Part2 res;
        res.sum = -1;
        // cout << flex.size() << endl;
        ll mini = INF;

        while (flex.size() > 1) {
            sort(flex.begin(), flex.end(), cmp2);
            mini = min(mini, flex[0].sum);
            vector<Part2> nflex;

            for (int i = 1; i < flex.size(); i += 2) {
                auto npart = flex[i] - flex[i - 1];
                if (npart.sum != 0) {
                    nflex.push_back(npart);
                } else {
                    res = npart;
                    break;
                }
            }

            if (res.sum == 0) break;
            flex = nflex;
        }

        // cout << res.sum << " " << mini << endl;
        if (res.sum == 0) {
            string answer(n, '.');
            for (auto i : res.els) {
                if (i.second == 1) {
                    for (int j : i.first.els) {
                        if (j > 0) answer[j - 1] = 'A';
                        else answer[-j - 1] = 'B';
                    }
                } else {
                    for (int j : i.first.els) {
                        if (j > 0) answer[j - 1] = 'C';
                    }
                }
            }

            ll suma = 0;
            ll sumb = 0;
            ll sumc = 0;

            for (int i = 0; i < n; ++i) {
                if (answer[i] == 'A') suma += a[i];
                else if (answer[i] == 'B') sumb += a[i];
                else if (answer[i] == 'C') sumc += a[i];
            }

            assert(suma == sumb);
            assert(suma == sumc);
            cout << answer;
            return;
        }
    }
}

signed main() {
    if (1) {
        ios_base::sync_with_stdio(false);
        cin.tie(nullptr);
    }
    int t = 1;
//    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

/*
5 6
1 2
1 3
3 4
3 5
? 2 5
+ 1 4 1
? 2 5
+ 4 5 2
? 4 5
? 1 1
 */

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3712kb

input:

6
4 3 8 1 5 4

output:

ABC.BA

result:

ok OK

Test #2:

score: 0
Accepted
time: 511ms
memory: 4836kb

input:

10000
997167959139 344481199252 880336470888 152634074578 801642802746 425740396295 408773386884 376579721198 658396628655 317503722503 880971207868 745202647942 998002087506 434268792718 388046761498 176443917727 968016843338 733125908043 536691952768 578717268783 515787375312 454150414369 93569331...

output:

..........A............A.A..........B...........B..........................................BC.CC.........B.A........AB..................A.........AC.........C.............................B...........B..B.CC.A.BAB....................B..........A......................B...........C............C....A..B...

result:

ok OK

Test #3:

score: 0
Accepted
time: 650ms
memory: 4844kb

input:

10000
244641009859 300054748096 592075475634 321804928248 527476927808 615284875072 612503158867 79627937890 24322595515 453786026685 995645468307 935669240390 150939887597 468588586447 937973764525 148521365644 506710156469 456985188306 646860350786 385011308832 488784695957 866770562147 8902084272...

output:

.....B.B..C...A.....................B......................CB...C..B.A....C.........A.C.......A.C....A.BC............................B.A...A....B...C..A.........A..A...A............A...C..A..AC.............B........BC.....A..CAA...........A..C..B....C........AC...BCA......A..........BA...........A.....

result:

ok OK

Test #4:

score: 0
Accepted
time: 49ms
memory: 4720kb

input:

10000
483524125987 259923264237 336374288891 523535590429 220751244358 809124321145 816232930851 791266089174 394543529670 585773363571 110319728747 171580543238 299582720391 535468188689 496490702144 120598813561 17138628383 148284660056 752733781508 150155605777 502931759705 316245485733 844723534...

output:

.........B....................................................................B......................................C............A..A......................................B...................C....B..B......................C.............................A.............................B...............A...

result:

ok OK

Test #5:

score: 0
Accepted
time: 510ms
memory: 4820kb

input:

10000
726702209411 215496813081 80673102149 729561219907 909730593611 961814024114 978812959730 494314305867 760469496529 726350635050 220699021890 366342102981 456815487777 569787982418 13857896659 51526518374 564421876106 876438907614 862902179526 956449645826 512783856158 728865633510 79923864224...

output:

........................................A....BB.................C......B.C.........C...........A....................C..A.............A.....A.....................A...AA......B...B..C........C....A........A......B......B.............................A.......C.........C....A............A...................

result:

ok OK

Test #6:

score: 0
Accepted
time: 146ms
memory: 4832kb

input:

10000
965585325539 175365329221 792412106895 931291882089 635564718673 151358502890 186837699009 201657489855 130690430685 862632939232 335373282330 565398630021 609753287868 636667584659 568079866982 23603966291 74850348020 567738379364 964480642952 721593942770 526930919906 141485781288 7949034928...

output:

...................A...A......................C.........C.........B.........................A....AC....C........B....A...............C..............B.............B.........A..A.................BA.A..............C..............B....C......................................C....................A...........

result:

ok OK

Test #7:

score: 0
Accepted
time: 478ms
memory: 4728kb

input:

10000
213058376259 126643910770 541005887448 104757703054 324544067926 340902981667 353712695184 913295641139 500911364840 994620276118 486902318577 755865222469 795250896470 670987378388 89742028793 995681414208 622133595743 291597659626 74649040970 491033207011 504223207847 590960704874 7494186003...

output:

....B...............C...............................A....................C.B............................B..........................B.C.........A...A....A....A...B.C.......C......B.....ABA......................................B........C.......................C............................................

result:

ok OK

Test #8:

score: 0
Accepted
time: 93ms
memory: 4844kb

input:

10000
451941492387 119072235422 248449924898 310783332532 50378192988 493592684636 553147499872 616343857831 866837331700 135197547597 601576579017 991776525316 948188696560 701012204822 639669031820 967758862125 160826908873 982897131377 184817438988 288737312468 518370271596 3580852652 69963874057...

output:

......A.......A..BB....C.......C.B.A.BCBA.............C..A.....A............A.................CBA..........A........C..B.............A.............AC..................A........B...B..A.A.C........C...A....CA............B.......A.........B..A.....B.BBC.............CC.CAB.........A..........B.B.C....C...

result:

ok OK

Test #9:

score: 0
Accepted
time: 1214ms
memory: 4800kb

input:

10000
690824608515 78940751563 997043705451 512513994713 743652509537 687432130709 724317463343 323687041819 237058265855 271479851779 716250839457 186538085060 101126496650 772186774359 161331193631 939836310042 671255380788 706756411639 290690869710 58176576709 528222368048 411906033133 6910086238...

output:

..C..A......B......C.B...C....A.C...BB.C......A.CB......BB...C.B..BB...A..A...CBC.C....ACB....A.A..A.CBC...AAB.....B.A.A........CBA...C......AC.C.B..CB.A..BBA......B.C.BCB...B.CA..AB.......B...C......C.C....B..A.A..A..BB...ACC.AB...B....BC..B.B.B...C.B......C...B....B..B.C.......B..AB..B.C..A.A..AB....

result:

ok OK

Test #10:

score: 0
Accepted
time: 422ms
memory: 4848kb

input:

10000
934002691939 34514300407 708782710197 718539624191 432631858791 876976609486 923752268030 31030225807 607279200011 403467188665 826630132600 385594612100 249769329445 797916633496 711258196658 911913757959 218538628510 398055883389 400859267729 827615840950 505514655989 824526180911 6455237314...

output:

A............................................C..........B.................................................C..C............................................A...B......................C...........................................................C................C......C.....................................

result:

ok OK

Test #11:

score: 0
Accepted
time: 28ms
memory: 4812kb

input:

10000
375802030518 117598196518 669640274071 415983359971 383071550121 462096204862 177799843967 526446173607 553796619138 341402690754 434223219513 93668171337 8312183499 715905549873 581673542337 416566661387 796879397647 243434495917 100631413076 394150918417 253579868000 895224422012 41512619570...

output:

.A...............A........................C................AB........B..C................B......A..................................A.............BB.B..........................C..A..........B..........B...............B....B........B.......A.................C....B................C..C......B........C.....

result:

ok OK

Test #12:

score: 0
Accepted
time: 2164ms
memory: 4852kb

input:

10000
614685146646 110026521171 381379278816 622008989449 72050899375 655935650934 381529615950 229494390299 915427618702 481979962232 544602512657 288429731081 165544950885 745930376306 135895512660 388644109304 344162645369 930439000371 206504843798 163590182657 267726931749 312139537086 365346335...

output:

..........................................A................B.......CB...C..............A......A..B......C............A...A................................BA.........C...............................C........B.............B...........C..........A...C..B.B................................B.................

result:

ok OK

Test #13:

score: 0
Accepted
time: 782ms
memory: 4844kb

input:

10000
857863230070 69895037311 125678092074 828034618927 802179991732 845480129711 548404612126 941132541583 285648552857 613967299118 659276773097 524341033928 318482750975 817104945843 653262707175 360721557221 854591117284 658593247929 316673241816 928734479602 245019219689 724759684863 324156410...

output:

.....................A....................C..B........A.......................C.....C......C........A.....................B..........A......B.B............A........A.....................B..C..................C...............................AC....C....C..C......A........A..............B......B..........

result:

ok OK

Test #14:

score: 0
Accepted
time: 793ms
memory: 4848kb

input:

10000
101041313494 25468586155 837417096820 997205472596 491159340986 2464799976 747839416813 648475725571 655869487013 750249603301 778246000832 714807626376 467125583769 847129772276 207484677498 332799005138 393284430414 349892719679 426841639834 735028519651 254871316142 174234608449 31552629403...

output:

.............................................A...............................................C...............C..........................................................................................................................A.....................A.......C........................................

result:

ok OK

Test #15:

score: 0
Accepted
time: 511ms
memory: 4744kb

input:

10000
344219396918 976747167704 581715910077 198936134778 180138690239 187714311457 919009380284 351523942263 21795453872 890826874779 888625293976 913864153416 620063383860 914009374518 724851872013 309171420351 940567678137 78046967238 532715070557 500172816596 269018379890 586854756227 2700414015...

output:

A...........A.....A.C..................................................B.................................................A.................................C...........................A...AC................C........C...A....A...........A..........B....C.........B.........................................

result:

ok OK

Test #16:

score: 0
Accepted
time: 799ms
memory: 4740kb

input:

10000
583102513046 936615683844 293454914823 404961764255 905972815301 377258790234 118444184972 63162093547 392016388028 22814211665 3299554415 108625713159 773001183950 944034200951 279073842336 244394092460 450996150051 801906247500 638588501279 269612080836 283165443639 995179936708 224556509057...

output:

......A...BC..C...............BA..A..A.....B.....CC.A.....BB....................A....A...A.A.......A...CC...............C........C..B...B........A.C......A.B......AC..A.C.....A........C...B.....A........C....AA..B.C.....A.........................C.A......C.........A......B...................BC.C.......

result:

ok OK

Test #17:

score: 0
Accepted
time: 553ms
memory: 4840kb

input:

10000
821985629174 892189232688 42048695377 606692426437 594952164554 534243460498 322173956955 766210310239 762237322183 159096515847 113678847559 307682240199 958498792552 15208770488 800736004147 212176573082 998279397774 488910751954 748756899297 71611153589 260457731579 444654860294 17907161656...

output:

....C...........................................................................BB........B.............A.........................A.C............C...B..........B..............A...........BA..................C.........................................B.................C.........A....C....................

result:

ok OK

Test #18:

score: 0
Accepted
time: 46ms
memory: 4844kb

input:

10000
69458679894 888912524637 786347508634 775863280107 288226481104 723787939275 489048953130 473553494227 132458256339 299673787326 228353107999 539298575751 111436592642 45233596921 354957974470 184254020999 508707869688 217064999512 854630330019 836755450534 270309828032 857275008072 1747364671...

output:

...C........B....A...............B............A...........B......B..B..........C..C.C..............B...............B..............B....................A...........................................................................B....C..CB..........C......A.........................B................B.....

result:

ok OK

Test #19:

score: 0
Accepted
time: 1434ms
memory: 4848kb

input:

10000
308341796022 844486073481 498086513380 977593942288 14060606166 917627385348 692778725113 180896678215 498384223198 431661124212 379882144246 734060135494 264374392733 116408166459 909179944793 156331468916 47401182818 904069503967 964798728037 601899747479 284456891780 269895155850 1292515746...

output:

......B..AC....C..B......A.B......BC.B...C.CB...BB.C...C..A...AB.BA..B.....C........A.A....BBBA...CB...B....AB...B..B..A............B...B.......AC.......A..ACC.A.....B.B.......BCA...A.BA.B......C.....BB.C.BC.........AB.AB........CA.A.B.....A...C.C.....C....C...BBC.A.B.B...CC.......A.....A.A.C.B...B....

result:

ok OK

Test #20:

score: 0
Accepted
time: 178ms
memory: 4832kb

input:

10000
551519879446 795764655030 246680293934 187914539062 698744988123 70317088317 859653721289 888239862203 868605157354 567943428394 490261437390 928821695238 417312192823 146432992892 426547139308 128408916833 557829654733 632223751525 70672158759 408193787527 261749179721 723665046731 7947171490...

output:

...............A..........C..................AB...B....CAB...B.....BC...........C...........................A........A..B..................B..........B...A..........CC...A..BA............................................................................B.........C...........C........A.B............AC....

result:

ok OK

Test #21:

score: 0
Accepted
time: 7ms
memory: 4796kb

input:

10000
179452405440 795586588704 583509061481 257552472140 17016115810 344148658854 266066743034 499628305150 799677780684 782519361360 712208050516 472401554301 240954478790 811346543678 414387546138 220832279893 610641889899 398080960260 267717802881 456588066499 427661699500 209083254572 883759454...

output:

...............................A.........................B..................................B....C............A.....................................................................................................................................................................................B..........

result:

ok OK

Test #22:

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

input:

10000
418335521569 751160137548 327807874739 426723325809 705995465063 533693137631 428646771913 206971489138 165603747543 918801665542 826882310956 667163114045 393892278880 841371370111 927459773357 192909727810 153630170326 121940240523 377886200899 262882106547 404953987440 621703402350 83827456...

output:

..........................A.......B..................................................C.B.........................A.........C.................................A.......................................A........................................................B.C...A..............................C...........

result:

ok OK

Test #23:

score: 0
Accepted
time: 1600ms
memory: 4836kb

input:

10000
665808572289 706733686393 39546879484 632748955287 394974814317 727532583704 636671511192 914314673126 535824681699 50789002429 937261604100 866219641085 579389887482 908250972352 485976710976 164987175727 664058642240 817534679569 483759631621 28026403492 419101051189 71178325936 792789669437...

output:

.....C..............A.........................B...........................C.............C.........B............................A...........C...C.......................A..........C....C.........................B.................A.............B...................C..............C.............C........C...

result:

ok OK

Test #24:

score: 0
Accepted
time: 1585ms
memory: 4840kb

input:

10000
904691688417 699162011045 783845692742 838774584765 125103906675 880222286673 799251540072 621657857114 906045615854 187071306611 88790640347 97835976636 732327687572 942570766082 999048938195 132769656348 211341889962 541393959831 593928029640 834320443541 433248114937 483798473713 7841595527...

output:

..........................B....B..........B..A.....................................B.............C...........C.......C.........B....................................A.............................................A.........................................C...........C......................................

result:

ok OK

Test #25:

score: 0
Accepted
time: 186ms
memory: 4844kb

input:

10000
147869771841 659030527185 532439473295 40505246946 814083255928 69766765450 2981312055 324706073806 271971582714 327648578089 203464900787 292597536380 885265487663 9450368323 557565875814 104847104265 717475394581 232693431581 667241651850 599464740486 443100211390 896418621491 742969627560 3...

output:

................B....................B...CA............B...............B.............B...........C............C..A.....................A....................................A......................B.......................................................B.....C..................C...B.......B.......C.A....

result:

ok OK

Test #26:

score: 0
Accepted
time: 1062ms
memory: 4852kb

input:

10000
386752887969 614604076030 244178478041 209676100616 535622413694 263606211522 206711084038 36344225090 642192516869 459635914975 318139161226 487359096124 33908320457 43770162052 74933070329 40069776374 264758642303 956552711844 768820115276 364609037430 420392499330 341598577781 697484735069 ...

output:

.....C.......B..........B....A...A..............A.....................B......C....AA..C....B.BA...............C.............C.......B.......A...........................................A..........B...C.C.A..........................................................C.......C..........B.....................

result:

ok OK

Test #27:

score: 0
Accepted
time: 111ms
memory: 4840kb

input:

10000
629930971393 570177624874 988477291299 415701730093 224601762947 416295914491 373586080214 739392441782 12413451025 595918219158 432813421666 686415623163 186846120547 110649764293 629155040653 12147224291 770892146922 680411992106 878988513294 170903077479 434539563079 754218725559 6519998425...

output:

......B.......A.................C.C.....B.....C.......................................................................C....B.............C................B......C.....................C...B........................................B............C..................A............B...................A.........

result:

ok OK

Test #28:

score: 0
Accepted
time: 123ms
memory: 4832kb

input:

10000
873109054817 525751173719 700216296044 617432392275 913581112201 610135360564 573020884901 446735625770 378339417884 736495490636 543192714810 881177182907 339783920637 144969558023 183377010976 984224672208 318175394644 371711463856 989156911312 936047374424 448686626828 171133840632 63907475...

output:

......CA.....B....B.CA..BCBA.....AC..A..CAA..CBA..C.AB.C..B.C....A.B..C.C...B..CA.B....A..BB.....A..CB..CCAA...A...B...C.....BC....A.BA.A.....B..BC.............B.A..A.C.......B.BA.B.A...AA.AB...AA......B.A.A...B.C.........ABAAA..A.CCC.AC.B...B...B...........C.A....CCB.B.BB...CAA.AAC...C.CAAA....B..C...

result:

ok OK

Test #29:

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

input:

10000
111992170945 481324722563 448810076598 823458021753 643710204558 799679839341 744190848372 158373777054 748560352039 868482827522 657866975249 112793518459 529576496536 211849160264 700744205491 956302120125 865458642367 95570744118 95030342034 705486638665 421683947472 583753988410 5935898661...

output:

...........AA.......B........AC..........B......C....A......A.........B..................C..C..............A..B....CA.....B.......B...............A....A..........C.......C.A..B.......C......C.......................A........C.....B...........B........A..A........................BBB....B......C..........

result:

ok OK

Test #30:

score: 0
Accepted
time: 463ms
memory: 4796kb

input:

10000
355170254369 478048014511 156254114048 25188683934 332689553812 948074575014 947920620356 824567217938 118781286195 4765131704 768246268393 307555078202 682514296626 241873986697 254966175814 924084600746 371592146985 786870215868 205198740052 507485711417 435831011221 28933944700 552399940915...

output:

.................B....A............B...............A..............B.....A......................CB..A...........C............................C..B....B.........B.................................A.....C..................B...A...........C....................A.....A..........C....A.......C.......B..A.......

result:

ok OK

Test #31:

score: 0
Accepted
time: 62ms
memory: 4816kb

input:

10000
946248004555 469280013594 529937657403 66561775796 646665714203 226201112847 317478866292 435955660885 49853909525 256195840478 27047657327 846839969970 501861615297 906787537483 201656839540 20802931102 420109414855 589582200412 402244384174 560174957684 610333465591 518647119837 356687680431...

output:

......................A...................................A..................A..A...CA....................................C....................A.....C....................................B.......A..............B.............................................................................................

result:

ok OK

Test #32:

score: 0
Accepted
time: 445ms
memory: 4848kb

input:

10000
185131120683 429148529734 278531437957 268292437978 335645063456 420040558920 516913670980 143298844873 415779876385 392478144661 141721917767 45896497009 654799415387 936812363916 760173777159 992880379019 930537886770 276586704866 508117814897 357879063141 583330786236 931267267614 311202787...

output:

...C....A.........A......B.....B........AB..........B........B..AA...B...........AB....A........................B........C...C......C........A..........A........A.C..C.........................AC..AA..A......A....C..B....BA........CA...B...............C............................B.B.B......C....C..C...

result:

ok OK

Test #33:

score: 0
Accepted
time: 338ms
memory: 4832kb

input:

10000
432604171403 384722078578 985975475406 474318067455 24624412710 609585037697 683788667155 850642028861 786000810540 528760448843 252101210911 240658056753 807737215477 7986933453 273246004378 964957826936 477821134492 9035919720 618286212915 127318327382 597477849984 380742191200 265717895449 ...

output:

...........A.........B..C.C..A..........A.....CC.............A..................................C......................A....................B.......B.A.C..B..A..C....................B...................B......C..C........A..........................................C...........A...C......................

result:

ok OK

Test #34:

score: 0
Accepted
time: 1389ms
memory: 4856kb

input:

10000
671487287531 340295627423 734569255960 639193953829 750458537771 762274740665 887518439138 557985212849 151926777399 665042753025 366775471350 439714583793 956380048271 38011759887 831762941997 937035274854 20809414919 696040424175 724159643637 892462624327 611624913733 793362338978 2202330029...

output:

.....CB................C..C.........BBC........B......C...CC..B.....C..B.....B.................A....C.....B.C........C.....A.A.........B..........C.....A...B..BC..BA.................B..B.........CC............C.B.....A.AACC......C...A.....................CA.A..C..A....C..............C..B...........B...

result:

ok OK

Test #35:

score: 0
Accepted
time: 246ms
memory: 4848kb

input:

10000
914665370955 337018919371 446308260706 849514550603 443732854321 956114186738 91248211122 261033429541 522147711555 801325057207 481449731790 671330919344 146172624170 109186329424 349130136512 909112722771 531237886833 419899704437 834328041655 698756664376 584622234378 201687519459 211602886...

output:

...C...AC........A.A..........B.....A......B..........B....C......C............B.C.....B.A..................................B.................................B......C.AB..................B.A......................B...B..........A..........A..........................AC...B.....A..B...B............C......

result:

ok OK

Test #36:

score: 0
Accepted
time: 535ms
memory: 4748kb

input:

10000
157843454379 288297500920 194902041259 51245212784 132712203574 141363698219 253828240001 972671580825 892368645710 937607361390 591829024933 866092479088 299110424260 143506123153 903352106835 844335394880 74226167260 111199176187 944496439673 468195928616 598769298126 655457410341 1618230264...

output:

......A.C.....A......B......CA.B..C......C.B.C...A.B...........A.C..C..........A.A..BC..........A......AB......CCA.A.B.....AB.......C..............C............A....A.....B.C...C.....A...BB........A...A...........C.C.......BA..................AC.A......C.A...B...A............C.B........................

result:

ok OK

Test #37:

score: 0
Accepted
time: 368ms
memory: 4844kb

input:

10000
401021537803 248166017060 902346078709 257270842262 858546328636 298348368484 461852979280 675719797517 258294612570 69594698276 710798252669 65149006128 447753257054 206090758098 425014268646 812117875501 584654639174 835058456449 46074903099 270195001369 608621394579 68077558119 120633101295...

output:

....................B..................................A.B.........................................A....................C.................B............BC........B..C..............C..........A.......B.C........A........................................B........................B......................A....

result:

ok OK

Test #38:

score: 0
Accepted
time: 1461ms
memory: 4848kb

input:

10000
639904653932 203739565904 646644891967 459001504443 547525677890 487892847261 624433008160 383062981505 628515546725 210171969754 858032321621 259910565871 604986024440 240410551828 974941271673 784195323418 131937886896 563212704008 156243301117 39634265610 585913682519 480697705897 751482088...

output:

...........B.B....C..A.......C....C...A.....C................B.A...C..............B..B..A.......A.......B.A.....B.....C............A................B.C..B.C..................C.......A..B..C....B.............A...C........A....AB....B.A....C.....C.........A.CC.....C.....B.............B..C.C....A.........

result:

ok OK

Test #39:

score: 0
Accepted
time: 226ms
memory: 4848kb

input:

10000
878787770060 159313114749 395238672520 628172358113 273359802951 677437326037 828162780143 94701132789 998736480881 346454273936 972706582060 458967092911 757923824531 270435378261 533458209292 756272771335 638071391515 250217208462 262116731839 804778562555 600060746268 930172629482 665180921...

output:

..........A.................C...B.........A...........C.........C........B......A....................................................CA.............C...........A..........ACC...B...........................B.......A......A.........A..........................A.............................................

result:

ok OK

Test #40:

score: 0
Accepted
time: 1377ms
memory: 4844kb

input:

10000
126260820780 119181630889 102682709970 834197987591 966634119501 834421996302 995037776318 797749349481 364662447740 478441610823 87380842500 686288461167 906566657325 341609947798 46530436511 728350219252 185354639237 982666423316 372285129857 611072602603 614207810016 338497809964 2103319963...

output:

.....BB..C.BC.BC..AB.....B..A......A...BA..A.C..A..C.B..........A...ABB..C.BAB.ACCC...CC..A.C.....C..B..A....B.A..B.B..B.C.C....BC.C...A...BA.AAA.C...C.A.B.B...A.....A....B...A...BBAB..B.C........B......B..BCB............A..A...AC.BCB.B......B...AA......C.A...........B.BCCA..BC......B.....ABBBA..C.A...

result:

ok OK

Test #41:

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

input:

10000
713043603670 147268405779 480661220621 908130887964 276315312595 112548534136 401450798063 409137792429 300030038366 693017543789 305032488330 225573352934 767063719100 969668722776 34370843342 820773582312 238166874404 744228664756 569330773980 655171914278 747560521283 828210985101 788466163...

output:

.BB....A...............................B...BB..B......C...................CC...B.....C..........C.C.C..C.C.....AB.....B.....C..A.A.A....A...CA.B........................C.B.C...B..............A....A.....B........A..............B..C.........A.A.......C..C..............C................C.B.......C.B......

result:

ok OK

Test #42:

score: 0
Accepted
time: 492ms
memory: 4784kb

input:

10000
956221687094 107136921920 188105258071 77301741634 969589629145 297798045616 568325794239 116480976417 665956005226 829299847971 419706748770 424629879974 920001519190 36548325017 551738037857 792851030229 740005411726 472382912314 679499171998 461465954327 761707585032 277685908687 7798360466...

output:

.........A...C.A........A.B................A.C..............C..A......A..B.C....A.......................A.........................B..............A........C..A.....A....C..A.B.AA.AB...B....C..C..............CC...B.........CC.........A.A....A.........................CC....................C....A..........

result:

ok OK

Test #43:

score: 0
Accepted
time: 124ms
memory: 4840kb

input:

10000
199399770518 62710470764 936699038625 279032403816 658568978399 450487748585 772055566222 823824160405 31881972085 965582152153 571235785018 619391439717 68644351984 66573151451 105960008180 764928478146 287288659448 159387416768 785372602720 226610251272 775854648780 690306056464 738646121461...

output:

................................................................A..............................C..A........B...................................................................................A..........................C........................B...........................................................

result:

ok OK

Test #44:

score: 0
Accepted
time: 212ms
memory: 4844kb

input:

10000
438282886646 18284019609 648438043370 485058033293 384403103460 644327194658 934635595101 531167344393 402102906241 101864456335 681615078161 818447966757 221582152074 133452753692 623327202695 732710958767 797717131363 887541664326 895541000738 996049515513 748851969425 102926204242 693161228...

output:

........................A..........B..BB......B....B..A.......B..........A....AA...B...............................B...........A..........B...B.......C.........................B...............A..........C..A....................................B.............C.......B......C..........................A...

result:

ok OK

Test #45:

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

input:

10000
681460970070 973857568453 397031823924 686788695475 73382452714 833871673435 142660334380 234215561085 772323840396 238146760518 796289338601 13209526501 374519952165 167772547421 177549173018 704788406684 345000379085 574546168781 1414431460 798048588265 762999033173 515546352020 680236144992...

output:

...............C......B...................A..................C...............C.....................A...........A....AB.............BC..............B........B............B.....C..............................A....................................................C.......B............C........B.......A.A...

result:

ok OK

Test #46:

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

input:

10000
924639053494 966285893105 141330637182 892814324953 762361801967 990856343700 342095139068 945853712369 138249807256 374429064700 906668631744 244825862052 523162784959 234652149662 699211334829 640011078793 855428851000 302700416339 111582829478 567487852506 777146096922 965021275606 63475125...

output:

...............A...........C..............C.........B......CC.......B...........B..A..........................C....A....A..AA.B.....C.C.C......B......B.............C.......B......B.CC...........CC..........C..BA.A...C...A..C..B...................A...A...A....................C.....C...A.A.B.....A..C....

result:

ok OK

Test #47:

score: 0
Accepted
time: 21ms
memory: 4840kb

input:

10000
167817136918 926154409246 848774674631 61985178622 492490894325 180400822476 508970135243 653196896357 508470741411 510711368882 21342892184 439587421796 717250328153 268971943392 249138337856 612088526710 394122164130 989704920793 217456260200 336927116747 754438384862 377641423383 5892663600...

output:

.....A...................C..A.......A................B.B.............CB.....................C.....................AAB......B.......................A....A..CB......C......A...............C.......................A.....B.......A............C.........................B.A...CC................................

result:

ok OK

Test #48:

score: 0
Accepted
time: 397ms
memory: 4816kb

input:

10000
406700253046 881727958090 597368455185 268010808100 181470243578 369945301253 712699907226 356245113049 878691675567 646993673065 140312119920 638643948836 870188128243 335851545633 807655275475 584165974628 941405411853 717859168351 323329690922 138926189500 764290481315 790261571161 54807643...

output:

C..........................C.........................BA.A..............B.CB.....A.CA..........................AC.........A..................A.................A..C.......C.......................A.........B...........................................C.................................C.....................

result:

ok OK

Test #49:

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

input:

10000
645583369174 837301506934 309107459931 469741470281 907304368640 563784747326 879574903402 67883264333 244617642426 783275977247 250691413063 833405508579 18830961038 370171339362 320727502694 556243422545 451833883767 446013415909 433498088940 904070486445 778437545063 235441527451 5394463181...

output:

.........................................................................................................................................................................................................................................A....................B................................................

result:

ok OK

Test #50:

score: 0
Accepted
time: 445ms
memory: 4756kb

input:

10000
893056419894 792875055779 53406273188 675767099759 596283717893 716474450295 79009708089 770931481025 614838576582 919558281429 365365673503 32462035619 171768761128 437050941603 879244440313 524025903166 999117131490 137312887660 539371519662 706069559197 792584608812 648061675229 49396142564...

output:

..................C.......................................C...............................................................A..........................................................B...................A......................B................B.......................B..............................A......

result:

ok OK

Test #51:

score: 0
Accepted
time: 197ms
memory: 4844kb

input:

10000
484134170081 825256797965 390235040736 712845224325 873405102476 990306020832 448567954026 382319923972 513351391400 129839247099 619872095141 571746927386 991116079799 60814749285 825935104039 625039200818 10779623552 940024872203 703857355273 754463838168 921642352783 137774850365 2613943893...

output:

..............C.B..BC....A..C........BA..........CA.B.........A...........B.........C.......A.......CC...A..C...........B....CA........B.....C.BB.......B.....C.........A...B...B...................B....B...CA.B......B...AA.C........A.B............CA......C......C...C.....A......B......C......A...AB.....

result:

ok OK

Extra Test:

score: 0
Extra Test Passed