QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#127807#5474. Incredibly Cute Penguin ChicksKKT89AC ✓3652ms629060kbC++143.4kb2023-07-20 08:51:242023-07-20 08:51:28

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-20 08:51:28]
  • 评测
  • 测评结果:AC
  • 用时:3652ms
  • 内存:629060kb
  • [2023-07-20 08:51:24]
  • 提交

answer

#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;

constexpr ll mod = 998244353;

void add(int &x,int y) {
    x += y;
    if(x >= mod) x -= mod;
}

// 1-indexed
struct BIT{
    int n;
    vector<int> bit;
    BIT() {};
    BIT(int n) : n(n),bit(n+1) {}
    int sum(int i){
        int res = 0;
        for(;i>0;i-=(i&-i)){
            res += bit[i];
            if(res >= mod) res -= mod;
//            add(res,bit[i]);
        }
        return res;
    }
    void add(int i,int a){
        if(i == 0) return;
        for(;i<=n;i+=(i&-i)){
            bit[i] += a;
            if(bit[i] >= mod) bit[i] -= mod;
//            add(bit[i],a);
        }
    }
};

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    string s; cin >> s;
    int n = s.size();
    vector<vector<int>> sum(3,vector<int>(n+1));
    for (int i = 0; i < n; ++i) {
        int c = 0;
        if(s[i] == 'I') c = 0;
        else if(s[i] == 'C') c = 1;
        else c = 2;
        for (int j = 0; j < 3; ++j) {
            sum[j][i+1] += sum[j][i];
        }
        sum[c][i+1]++;
    }
    map<int,vector<int>> mp[3];
    for (int i = 0; i <=n ; ++i) {
        for (int j = 0; j < 3; ++j) {
            int jj = (j+1)%3;
            int jjj = (j+2)%3;
            int key = sum[jj][i] - sum[j][i];
            int val = sum[jjj][i] - sum[jj][i];
            mp[j][key].push_back(val);
        }
    }
    for(int i=0;i<3;i++){
        for(auto &p:mp[i]){
            sort(p.second.begin(), p.second.end());
            p.second.erase(unique(p.second.begin(), p.second.end()), p.second.end());
//            reverse(p.second.begin(), p.second.end());
        }
    }
    vector<int> dp(n+1);
    dp[0] = 1;
    BIT bit[3];
    for (int i = 0; i < 3; ++i) {
        bit[i] = BIT(n+1);
    }
    map<pair<int,int>,int> id[3];
    map<pair<int,int>,pair<int,int>> memo[3];
    for (int i = 0; i < 3; ++i) {
        int num = 1;
        for(auto &p:mp[i]){
            int be = num-1;
//            int ed = num+p.second.size()-1;
            for (int j = 0; j < p.second.size(); ++j) {
//                cout << i << " " << p.first << " " << p.second[j] << " " << num << endl;
                id[i][{p.first, p.second[j]}] = num;
                memo[i][{p.first,p.second[j]}] = {be,num-1};
                num++;
            }
        }
    }
    auto update = [&](int i)->void{
        for (int j = 0; j < 3; ++j) {
            int jj = (j+1)%3;
            int jjj = (j+2)%3;
            int key = sum[jj][i] - sum[j][i];
            int val = sum[jjj][i] - sum[jj][i];
            int idx = id[j][{key,val}];
//            cout << i << endl;
//            cout << idx << " " << dp[i] << endl;
            bit[j].add(idx, dp[i]);
        }
    };
    update(0);
    for (int i = 1; i <= n; ++i) {
        for (int j = 0; j < 3; ++j) {
            int jj = (j+1)%3;
            int jjj = (j+2)%3;
            int key = sum[jj][i] - sum[j][i];
            int val = sum[jjj][i] - sum[jj][i];
            auto p = memo[j][{key,val}];
//            cout << i << " " << j << " " << p.first << " " << p.second << endl;
            add(dp[i], bit[j].sum(p.second));
            add(dp[i], mod-bit[j].sum((p.first)));
        }
        update(i);
//        cout << dp[i] << endl;;
    }
    cout << dp[n] << endl;
}


Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

ICPC

output:

2

result:

ok single line: '2'

Test #2:

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

input:

CCCIIIPPP

output:

69

result:

ok single line: '69'

Test #3:

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

input:

PICCICCIPPI

output:

24

result:

ok single line: '24'

Test #4:

score: 0
Accepted
time: 1432ms
memory: 139660kb

input:

PCPPCCICPICPCPCPCCPPIPPPIICCCICPICCPPPIPCCCCICCIICPCCICCCPCICIPPIPIPIPPCCPCIPPCCPPCCIPPPIPPCIICIIIPPCIPPICPPICCPIICCCCCCCICPCCPPIPIPICPCIICPCCIPICCCPPCPIIICPCPPPIIIIICCCPCICCPPCPPCICIIIPIPICPCPPPPICPCPIPIIICCICPCIPPICCICPIIPPCCCIICPCPCCICCPICPPPPPPICCCIPCCICICIPICIIICCICPCIPIICPIPIIICCPCCIIPCCCCPIPI...

output:

216523282

result:

ok single line: '216523282'

Test #5:

score: 0
Accepted
time: 1481ms
memory: 137196kb

input:

ICIPCICCIPIPIIPPCPCICICPCPCPIIICICPPICCICPIPCPCIIPPIPCCIPIPIPIICCICICCCIPPIIPCPPCIIICCICCCCCCPIPICCIPIICIICPIPCCICPPCCIPIPIICCCPCCIPCPPCCIIIIIPCIPIIPICIIIPIICCCIPPPIPICIIIICIIIPICIICPIPCCICIPCCIPICCCPPIPIIPICPPCPICIPIPPPPPCIPCCIPPICIPCICPCCCCPPIIIPCPICCICIPIIPICPIIIIPPPCPIIIPCCPPIIPPICPIIICCCPICPPIC...

output:

977504498

result:

ok single line: '977504498'

Test #6:

score: 0
Accepted
time: 1524ms
memory: 149964kb

input:

PPCCCICCIPPICCPCCCCIPPPIICPIPIPPPPIPPPPPPCPIPICCPCCPICPIPPPIIPIPIIPPCCPIICPPIIIPPCCCIIPCCIPCCCCCCIIIPIPCICCIICIIICCCCPCCICPPCCPCCIPICCPPIIPIIPIPCIIPIIPPPCCIPCPCCICCIPICPPPCIPPIPCCPCPCCIPIICCIPCCIPPCPCIPICIICPPICIIICIPIIIIIPCCCPPIPPPCIICIIIPPCIPCIPCIICCCCPIPCPICICPIPCPPIPIPICCPCCCCPCIPCPPCCIPCCCCCPII...

output:

785880133

result:

ok single line: '785880133'

Test #7:

score: 0
Accepted
time: 1440ms
memory: 128484kb

input:

ICIPCPIPCCCCCCCPCCPCCIPCPCPIPPCPIPCICPPIPPPPICPIIPPIICPICPICPPICICICCCIIPCPPCCICCCCPIICPPPIPIPCICPIPPPPCCPICPCPICICPPIIIICIICPPIPIIICCCCPIPIIPICCCIPCCPPCPPPPIIIIICIPCPCCPIIICICIPPCCPIPPCIIPCCCIIICPCIPCIIIIPCIIPCIICCCIPPIPPCIIPCICIPIIPICCICCPCPIICCCIPIICCCPIPPCCIIIICPPIICPCPCIPPPCPCICPPIPIPCCPIPPPIPI...

output:

687587235

result:

ok single line: '687587235'

Test #8:

score: 0
Accepted
time: 1471ms
memory: 138292kb

input:

IICCCIPIIIIIPICIICPCPCIICCIIICCCIIPICICCCPCPCPPPIIPIPPICIICICIPIICCICCIIIPCIICCPPIPICIPPCPCPCPIICCIIICIPPICCICPPIPPPPICPCPIPCCCPCPCPPPPIICPCIIIIIIIPIPIICICCPPIIPPCICPCPCIPCPICPPPICCICIICPPIPPPIPIPIPPCIPPCIPPCPPPIICICCCPICIPPIPCCPIIPPCIPPICCIIIPPPPPIIPPICPCPCIPPCCPCIIIPPICCCIIIIICIPPIIICPCIIICPPCPCPP...

output:

698376687

result:

ok single line: '698376687'

Test #9:

score: 0
Accepted
time: 1512ms
memory: 143312kb

input:

IIPICCCCIPPCCPICCIIPPPCIPCCPPIPIICICPCCIIPPCCCICICPPICCICPPIICIIPICPICIPPPPCPCCPIICCPPIPPCIIIIPICICICCIIPPCICCCCCPICPIPCPPCCPPICPICCCICCIPICCICPIICCPIPIPICCPPCCPCPCCPICCPICCCCCCIPIICPIPICICCPIIPIPICIICIPPPIPCICIPIPPICPICICPPICICCIPCIPPPCIPIIPPPIICICPPPIICCCPIIICIPIPPICICIPPPCCPCCIIPCCCPPPCPICPICPPCP...

output:

850857669

result:

ok single line: '850857669'

Test #10:

score: 0
Accepted
time: 3263ms
memory: 629060kb

input:

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...

output:

709758735

result:

ok single line: '709758735'

Test #11:

score: 0
Accepted
time: 3652ms
memory: 628924kb

input:

PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP...

output:

854001544

result:

ok single line: '854001544'

Test #12:

score: 0
Accepted
time: 3149ms
memory: 628964kb

input:

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

427000772

result:

ok single line: '427000772'

Test #13:

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

input:

IPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPC...

output:

717926203

result:

ok single line: '717926203'

Test #14:

score: 0
Accepted
time: 183ms
memory: 47284kb

input:

PCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCI...

output:

939976909

result:

ok single line: '939976909'

Test #15:

score: 0
Accepted
time: 180ms
memory: 49088kb

input:

CIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIPCIP...

output:

687951732

result:

ok single line: '687951732'

Test #16:

score: 0
Accepted
time: 3141ms
memory: 545224kb

input:

IIIIIIIIICIIIIPIIIIIIIIPIIIPIIPIIIIIIIIIIIIPIIIIICIIIICIIIIIIIPCIIIIIIIIIPIIIIIIPIIIIICIIIIIIIIIIIIICIIIIIIICICIIIICIIIIIIPIIIIIIIIPIIIIIIICIIIIIPIIIIIIIIIIPCIPIICIPIIIICIIIIIIIIIIPICIIIIIPIIIIIIIIIIIIIIIPIIIIIIIIIIIIIIIIPIPPPCIPIIIICIIIIIIIIIIIIIIIIIIIICIIIIIIICIPIIIIPIIIIIIIIIIIIPIIIPICIIPIIIIIIII...

output:

955489074

result:

ok single line: '955489074'

Test #17:

score: 0
Accepted
time: 3302ms
memory: 545704kb

input:

PPPPPPCPIPICPPPPPIPPPPPPPPPPCPPCPPPPPPPPPPPIPPPPPPPCPPPPPPPCIPICPIIPPPIPPPCCPPPPPPPPPPPPPPCPPPPPIPPCPPPPPPPPPPPPPPPCPPPPPPPIPPIPPPPPPPPPPPICIPPPPPPIIPCPPPCPPPCPPPPPPPPPPPPPICPPPPIPCPPPPPPCPIPPPPPPPPIPPPPPPPPPPPIIIPIPCPPPPPPPPPPPPPPIPPPPPPPPPPIPPPPCPPPPPPPPPPCPPIIPPPPPPPPPPPPPPPIPPPPPPPPPPPICPPPPPPPP...

output:

375091010

result:

ok single line: '375091010'

Test #18:

score: 0
Accepted
time: 3132ms
memory: 545612kb

input:

CCCCCCCCCCCCCCCCPIPCCCCCCICCCCCCCCCCCCCICCCCCIPPCCCCCCCCCCICCCICCCCCCCCCCCCCCCCCPCCCCPCCPCCCCCCCCPCICCCCCPCICCPCCCCPCPCCCCCCCCCCCCICPCCPCPPCCCCCCCICICPCCCCCCCCCICICCCICCPPPPPCCCCPPCCICPCCCCCCCIICCPCICCCCCCCCICCCCCCCCICCICCCICCCCCCCCICCCCCCCCCCCCCCCCCIPCCCCCCCCCCICPCCCPICCCCPCCCCCCCCCCCCCCPCICICCICCC...

output:

270555678

result:

ok single line: '270555678'

Test #19:

score: 0
Accepted
time: 3236ms
memory: 546240kb

input:

IIPIIIIIICIIPIICIIIIIIIIIIIIIPIIIPIIIIIIIIIIIIIIIIIIIIIIIIIIICIIIIIIPPIIIIIIPIIICCICIIPIICCIIPIIIPIIIIIIPIIIIIIIICIIIIIIIIIIICIIIPIIIIIICIICIIICIIIIPIICIIIPIIIIIIIPIIIIIPICIIIICICIIICIIIIIIIIIIIPICIIIIIIIIIIPPIIIICIIIIIIIIPIIIIIPIICIIIIIIICCIIPIIIICIIPIIIIIIIIIIIICIIIIIPIIPCIIIIIICICIIIIIIPIIIIIIIII...

output:

178987433

result:

ok single line: '178987433'

Test #20:

score: 0
Accepted
time: 3308ms
memory: 545596kb

input:

PPPPPPPCIPPPPPPPCPPPPCIPPPCPPPPCPPIPPPPPPPPPPPPPCPPPPPPPPPPPIPPPPPIPPPIPPPPPPPPCCPPPPPPPPCPPPCPPPIPPPPPPPPIPPPPPPPPPPPPPPPPPPPPPPPIPPPPPPCPPIPPPPPPICPPPPPPPPCPPPPPPPPPPPPPPPCPPPPPPPCPPCPPPPPPPPPIPCPPCPPPPPPPCPIPPPPPIPPPPPPPPPPPPPCPPCIPPPCPPPPPPPPPPPPPPPPCPPPPPPPPPCPPPPPPIIPPPPPIPCPCIIPPPPPPPPPCPPPIP...

output:

328261068

result:

ok single line: '328261068'

Test #21:

score: 0
Accepted
time: 3049ms
memory: 545648kb

input:

CCICCCCIPCCCCICCCCPCCCCCICCCCCCCCCCCCCCCICCCCPCCCCCCCCCCCCCCCICCCICCCCCCICCCCCCCCPCCCCCPPICCCCCCCICCCCCICCIIPPICCCICCCCCCCCCCICCCCCPCCCCICCCCCCICCIPCCPCIPCCCCPICPCCCCCICICCCCCCCCICPCCCPCCCPCCCPCCCCCCCCCPCPCCICPCCCCCICCPCCICCCPCCCCCCCCCCICCCCPCCCCCPCCCCCPCCCPCCCCCCCCCCCCCCCCCCCCPCICCCIICPCICPIICCCCCC...

output:

424185045

result:

ok single line: '424185045'

Test #22:

score: 0
Accepted
time: 3088ms
memory: 545308kb

input:

IIIIIIIIIIPIIIIIIIIIIIIIIIIIICIIIIPPCIICICIPIIIIIPIIICPIIICIIPIPIIIIIIIIIIPIIIIIIIIPIPIIIPICIIIIIIPIIIIIPIIIIIIIIIIIIICIIIIPIIIIICIICICIIIIIIIIIIIIIIIIIIIIIIIIIICIPCIIIIIIPIIIIIIIIIIIIIICIIIIIIIIIIIIIIIIIIIIIIICIIIIIICIIIIIIIICCIIIIIIIIPIIIIIIIIPIIIPIIIIIICIIIIIIIIIIIIIICIIIICIIIIIIIIIPIIIIIIIIIIPII...

output:

595831650

result:

ok single line: '595831650'

Test #23:

score: 0
Accepted
time: 3122ms
memory: 545120kb

input:

PCCPPPPCPPIPPPPCIPPPCIPCPPIPIPPPPPPIPPPIIPPPPCPPPPPPIPPPIPPPPCPPPIPPPPPPPPIPPPPIPCPPPPPPPPPIPPPPPPIIIPPPPPIPPCPPPPPIPPPPPPIPPPPPIPPPIPPPPPPCPPPPPPPPPPPPPCPPPPPPPPPPPPPPPPPIIPICPPCPPPPPCPPPPPPCPPPPPIPPPPPCCPPPPPPPIPPPPPPPPPIPPPPPICPPPPPIPPPPPIPCPPPPPPCPPPIPPPPPPPPPPCPPPPPPPPPIPPCPPPCCIIPPIIPPPPIPPPPP...

output:

354896912

result:

ok single line: '354896912'

Test #24:

score: 0
Accepted
time: 3106ms
memory: 545372kb

input:

CPCCCCCCPPICICCPCCCCCCCCCPCCCCCCCCPPIPPCCCPCCCCCCPCICCCCCCCIPCCICICCCCCCCCCCCCCCCCCCIPCCCPCCCIPCPCCPCCPCCCCCPCCCCCCPCCCCICPCCCCCCCCCCCCCIICCCCCIPCIIICCCCCCCCPCCCCCCIICCCCCCCICPCCCCCCCCCCCICCCCIPCCCCCCCCCCPCCCICCCCPCCCCCCCCCCCCCCCPPCPCCCCICCCCCCCCCCCCCPCCCCICCCCCCCCCCIIICCCCCCCCCCCCCCCCICCCCCPCICIPIC...

output:

423510008

result:

ok single line: '423510008'

Test #25:

score: 0
Accepted
time: 2276ms
memory: 387224kb

input:

IPCIIIIPCIIIIIICPIICPIIIIIIIICPIIIIPCICPPCPCIIIIIPCIIIIIICPIIIPCIIPCIIIIIICPIIIIIIIIIPCCPICPCPIIIIIIIIIIICPIPCIICPIIIIIIIIIIPCIIIICPIIIIIIIIIICPCPIIIIIIIIIIIIIIIIIPCIIIIIIPCIIIPCIIICPIIPCIIIPCCPPCIIIIIIIIIICPIIIIICPICPIIIIIIICPIICPIICPIIIIIIIIICPIIIIIIICPIICPIIIIIPCIIPCIIIIIIIIIIIPCIIIIIIIPCICPPCIII...

output:

803254087

result:

ok single line: '803254087'

Test #26:

score: 0
Accepted
time: 2354ms
memory: 386884kb

input:

PPPPPPPPPPPPPPPPPPPPPPPICICPPPPPPPICPPPPCIPPPPPPICICPPPCIPPPPPCIPCIPPPCIPPICPPPPPPPCIPPPICPICPPPPPPPPPPPPPPPPPPPPICCIPPPCIPPPPPPPICCIPPPPPPPCIPPPCIPPPPPPPPPPPPICPPPPPPICPPPICPCIPPPPPPPPPPPPICCICIPPPPPPICPPPPPPPICCIPPCIPICPPPPCIPPCIPPPPPPPPPICCIPPPPPPPPPPPPCIPPPPPPPCIICPPPCIPPPCIPPCIPPICPPPPPCIPPPPCI...

output:

422010091

result:

ok single line: '422010091'

Test #27:

score: 0
Accepted
time: 2248ms
memory: 387400kb

input:

CCPICCCCCCIPCCCCCCIPPICCCCPICCCCCCCCCCCCCCCCCCCCCIPPICCCCCCCCIPCCCCCCCCCPICCCCCCCPICCCCCCIPCIPCCCCCCCCCIPCCCCCCCCCCCPICCCCCCCCPICCIPCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPICCPICCCPICCCPICCCCCCIPCIPCPICCCCCCCCIPCCCCCIPCCCCCCCCCCCCCPICCCCCCCCCCCCCIPCCCCCCPICCCCCCCCCCCCIPPICCCCPICCPICCCPICCCPICCPICIPCPICCCCCCC...

output:

81666193

result:

ok single line: '81666193'

Test #28:

score: 0
Accepted
time: 2299ms
memory: 387956kb

input:

CPIIIIIICPIIIIICPPCIIPCCPIIIIIIICPPCIIIIIIIIIIIIIICPIIIIIIIIIIPCIIIIIIIIPCIIPCIPCIIPCIIIIIIIIIIICPIIICPPCIIIIIIIIIIIIICPIIIIIIIPCIIIIIIIIIIIIIIIIIIIIIIIIIPCIIIIIICPICPPCIIIIIIICPIIIPCICPIIIIICPCPICPIIIIIICPPCIIIIICPIIIIIIIICPIIPCIIIIIIIIIIIICPICPIIICPIIIIPCIICPIIPCIIPCIICPIIIIIIICPCPIIIIPCCPIIIIIPCC...

output:

739418046

result:

ok single line: '739418046'

Test #29:

score: 0
Accepted
time: 2311ms
memory: 387952kb

input:

PCIPPPPPICPPPCIPPPPPCIPPPPPPPICPPPPPICPPPPPPPPCIICPPPPPICCIPPCIPPPPPPPICPPPPPPPPPPPPICCIPPPPPPCIPPPPPPPPPPPPPICPCIPPPPCIPPPICPICPPPPCIPPICPPPPPPPCIPPCIPCIPPPPPPPICPCIPICPPPICCIPPPPICPCIPPPPPPICPPPCIPPCIPPPPPPPPPPPPPPICICCIPPICPICPPPPCIPPPPICPPPPPPPPPPPPPPPPPPPPPPPICICPPPPPPPPPCIPCIPPPPPCIPPPCIICPICP...

output:

429005526

result:

ok single line: '429005526'

Test #30:

score: 0
Accepted
time: 2271ms
memory: 387952kb

input:

PICIPCIPCCCCIPCCCIPCCIPCIPCCCCCCIPCCCCCCCCCCCCCCCCCIPPICCCCIPCCCCCCCCCIPCPICCCCCPICCCPIPICPICCCCCCIPCCPICIPCCIPCCCCCPICCCCCCCIPCCCIPCCCCCCPICCCCCCCPICCCCCCCCCCCIPCCCCCCCCCCCPICCCCCCCIPCIPCCPIPICCCIPCCCCCCCCCCCCCCCCCIPCCCCPICCIPCIPCCCCCCCIPCIPCCIPPICCCPICCPICCCCCCCPICCPICIPCCCCCPICCCCCPICCCCCCCPICCCC...

output:

346033550

result:

ok single line: '346033550'

Test #31:

score: 0
Accepted
time: 2191ms
memory: 174960kb

input:

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...

output:

876361609

result:

ok single line: '876361609'

Test #32:

score: 0
Accepted
time: 2258ms
memory: 174912kb

input:

PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP...

output:

51133400

result:

ok single line: '51133400'

Test #33:

score: 0
Accepted
time: 2294ms
memory: 175268kb

input:

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

881510334

result:

ok single line: '881510334'

Test #34:

score: 0
Accepted
time: 2232ms
memory: 175052kb

input:

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...

output:

703358165

result:

ok single line: '703358165'

Test #35:

score: 0
Accepted
time: 2276ms
memory: 174984kb

input:

PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP...

output:

8597778

result:

ok single line: '8597778'

Test #36:

score: 0
Accepted
time: 2288ms
memory: 175556kb

input:

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

875167427

result:

ok single line: '875167427'

Test #37:

score: 0
Accepted
time: 595ms
memory: 51164kb

input:

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...

output:

339337501

result:

ok single line: '339337501'

Test #38:

score: 0
Accepted
time: 611ms
memory: 50040kb

input:

PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP...

output:

321201785

result:

ok single line: '321201785'

Test #39:

score: 0
Accepted
time: 621ms
memory: 50848kb

input:

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

654943659

result:

ok single line: '654943659'

Test #40:

score: 0
Accepted
time: 3432ms
memory: 519736kb

input:

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...

output:

995448234

result:

ok single line: '995448234'

Test #41:

score: 0
Accepted
time: 3280ms
memory: 520460kb

input:

PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP...

output:

442950961

result:

ok single line: '442950961'

Test #42:

score: 0
Accepted
time: 3236ms
memory: 519836kb

input:

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

221475480

result:

ok single line: '221475480'

Test #43:

score: 0
Accepted
time: 2159ms
memory: 278476kb

input:

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...

output:

828731448

result:

ok single line: '828731448'

Test #44:

score: 0
Accepted
time: 2132ms
memory: 277832kb

input:

PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP...

output:

967126854

result:

ok single line: '967126854'

Test #45:

score: 0
Accepted
time: 2093ms
memory: 278360kb

input:

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

898792666

result:

ok single line: '898792666'

Test #46:

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

input:

I

output:

1

result:

ok single line: '1'

Test #47:

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

input:

P

output:

1

result:

ok single line: '1'

Test #48:

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

input:

C

output:

1

result:

ok single line: '1'

Test #49:

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

input:

IP

output:

1

result:

ok single line: '1'

Test #50:

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

input:

PP

output:

2

result:

ok single line: '2'

Test #51:

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

input:

CP

output:

1

result:

ok single line: '1'

Test #52:

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

input:

IP

output:

1

result:

ok single line: '1'

Test #53:

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

input:

PP

output:

2

result:

ok single line: '2'

Test #54:

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

input:

CP

output:

1

result:

ok single line: '1'

Test #55:

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

input:

IP

output:

1

result:

ok single line: '1'

Test #56:

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

input:

PP

output:

2

result:

ok single line: '2'

Test #57:

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

input:

CC

output:

2

result:

ok single line: '2'

Test #58:

score: 0
Accepted
time: 2507ms
memory: 339184kb

input:

CICCCPPIICCCIPPPCPCCCPPICCIPPIPPCICPCCPPCCICPPPPPIIPPPCIPPPCCPPCPPPIPCPICPPPCPPPPPCIPIPCPPCCCCCCICPICPCPPPICIPPCPCPIPCCPPCPCPPCCCCIPPIICPPIICPPCPPIIPCICPPPCIICPCCCCPPPCCCCICCICIPCIPCPPPPCCCIPCCICPCCCCPCPICCCCCCPCPCPPCCPCPCPCCPIPPICPPIPPCCCPPICCCPPPPPCCPCICCPPCCCIIPPPIICCPCCPPCCIPCCCICCPPPICPCCPPICIC...

output:

382266009

result:

ok single line: '382266009'

Test #59:

score: 0
Accepted
time: 2406ms
memory: 339148kb

input:

PICCPIIICICPICIIIPICPICCIPPIPPPCCCIIPIIPCIPCCIIIICPIIPPIPICCPIPCPIPPPPPICIICIICIICICICIPCIIICCIPCICIPCICPICCPCCICICCCIICPIPICPPPPICIPCCIIIIIIPCCICIIPCPICCCCPCICPIIIIPCCCCPICICCCICIPIIICICPIPCIPPIIPCIPIICICPICCIICICCCPCPCICCPICICIIICCCIPICCIIPIIPIICCICIPIPCCCCCIICPIIICIPIICICPIICICIPPPCIIICCCCPICICCC...

output:

510412653

result:

ok single line: '510412653'

Test #60:

score: 0
Accepted
time: 2478ms
memory: 338732kb

input:

ICPCCIPPIPCIPCICPCCCIPCPPPPPPICPCPIPIIIPPCIIPIIPIPCCIIIIIIIIPICIIIPIPIIICIPICIIIIIICIIPICCCPIPIPCCPPCCPIPCICCIIPCPPIIIPPIICPIPIPPPPCIPIPIIPIIIICCPICIPCPCPCPPCICIPPICIIIPPPPPPCCIPIPICPCCICCCPICIPPIPPIPPPICPIPPCPCIIIPIPCPIICIIPIIIPCPPPICPICPIPIIIIIIICICIIPIIIPPIPIPICPPIIIIPCICICICCIIPPIIPIPCCCIPIPCCII...

output:

130104659

result:

ok single line: '130104659'

Test #61:

score: 0
Accepted
time: 2348ms
memory: 378960kb

input:

CPIPCCPPCPCCPCPIIPCCPPCPCCPPCPCCPCPPCCPCPPCCPPCCPPCPCICPPCPCCPCPCPPCPCIIPCCPCPCPCPPCICPPCPCPCIPCPCPCCPPCCPCPCPPCCPIPCICPPCCPPCCPIPCPCPCCPPCPCCPIIPCICPPCCPPCIPCPCICPPCPCPCIICPPCPCPCPCCPCPPCPCPCICPIIPCIPCPCCPCPPCCPICPICPPCCPCPIPCICPCPPCPCICPPCCPCPCPCPPCCPPCCPPCPCPCCPCPCPICPPCPCCPICPPCPCCPCPCPIPCPCPCCP...

output:

892362548

result:

ok single line: '892362548'

Test #62:

score: 0
Accepted
time: 2481ms
memory: 379492kb

input:

CIICPPICICPICCIICPICCIPCICICIPICICICPCIPCICICICICIICPICICICICICCICIICCICICIICICICCIPCIPCIPCIICCIPPICPICPCICIICPICCIICCIICCICIICCIICICCIPCICICIICCIICCICIICCICICIICPPICCIICICCIICPCIPCIICCICICIICICICICICCIPICICCIPPCIICCIICPCIICICCICIICCIICICICICICPICICICICICICCICIPCICICICIPCIICICCICICICIICICPCICICIICCI...

output:

249936867

result:

ok single line: '249936867'

Test #63:

score: 0
Accepted
time: 2509ms
memory: 378192kb

input:

PIIPCIPCPIPICIPIPPIIPIPIPIPPICCIPIPPIIPIPPICCIPCIPPIIPCIPIPPIPIPIIPPIIPPIPICIPPIPIPIPICIPCIPIPPIPIIPIPPIPIIPPIPIPIIPPIIPPIPIPIPIIPCPIIPPICIPIPIPCIPCIPPIPIPICCPIPICIPIPPIPICCIPPIIPPIPICCIPPIPIPIIPIPIPCIPPIIPPIPICPICCPIPIIPPIPIIPCIPPIIPPIIPIPIPIPIPPICCCCIPIPIPIPCPIIPCIPPIIPCIPPICIPCIPCPIPIPIIPCIPPIPIP...

output:

278587043

result:

ok single line: '278587043'