QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#321138 | #8207. Anton's ABCD | ucup-team2894# | AC ✓ | 16ms | 3956kb | C++20 | 8.5kb | 2024-02-04 05:02:39 | 2024-02-04 05:02:39 |
Judging History
answer
#include <bits/stdc++.h>
#define fr first
#define sc second
#define all(a) (a).begin(), (a).end()
#define unique(a) a.resize(unique(a.begin(), a.end()) - a.begin())
#define cerr if(0)cerr
using namespace std;
#ifdef ONPC
mt19937 rnd(223);
#else
mt19937 rnd(chrono::high_resolution_clock::now()
.time_since_epoch().count());
#endif
#define TIME (clock() * 1.0 / CLOCKS_PER_SEC)
using ll = long long;
using ld = double;
const int maxn = 1e5 + 100, inf = 1e9 + 100;
// если модуль подается на вход, убрать все <> и раскомментировать нужные строки
using uint = unsigned int;
using ull = unsigned long long;
template <uint MD> struct ModInt {
using M = ModInt;
// static int MD;
uint v;
ModInt(ll _v = 0) { set_v(uint(_v % MD + MD)); }
M& set_v(uint _v) {
v = (_v < MD) ? _v : _v - MD;
return *this;
}
explicit operator bool() const { return v != 0; }
M operator-() const { return M() - *this; }
M operator+(const M& r) const { return M().set_v(v + r.v); }
M operator-(const M& r) const { return M().set_v(v + MD - r.v); }
M operator*(const M& r) const { return M().set_v(uint((ull)v * r.v % MD)); }
M operator/(const M& r) const { return *this * r.inv(); }
M& operator+=(const M& r) { return *this = *this + r; }
M& operator-=(const M& r) { return *this = *this - r; }
M& operator*=(const M& r) { return *this = *this * r; }
M& operator/=(const M& r) { return *this = *this / r; }
bool operator==(const M& r) const { return v == r.v; }
bool operator!=(const M& r) const { return v != r.v; }
M inv() const;
friend istream& operator>>(istream& is, M& r) { ll x; is >> x; r = M(x); return is; }
friend ostream& operator<<(ostream& os, const M& r) { return os << r.v; }
};
template<uint MD>
ModInt<MD> pow(ModInt<MD> x, ll n) {
ModInt<MD> r = 1;
while (n) {
if (n & 1) r *= x;
x *= x;
n >>= 1;
}
return r;
}
template<uint MD>
ModInt<MD> ModInt<MD>::inv() const { return pow(*this, MD - 2); }
using Mint = ModInt<int(1e9) + 7>;
// using Mint = double;
inline vector<Mint> multiply(const vector<Mint> &p,const vector<Mint> &q) {
vector<Mint> r(p.size() + q.size() - 1);
for(int i = 0;i < p.size(); ++i) {
for(int j = 0; j < q.size();j++) {
r[i+j] += p[i] * q[j];
}
}
return r;
}
struct poly : vector<Mint> {
poly() {}
poly(const vector<Mint> &a) : vector<Mint>(a) {}
poly(int n) : vector<Mint>(n, 0) {}
template <class It>
poly(It left, It right) : vector<Mint>(left, right) {}
inline void normalize() {
while (size() > 1 && back() == 0) pop_back();
}
inline Mint& operator[](int pos) {
if (pos >= (int)size()) resize(pos + 1);
return vector<Mint>::operator[](pos);
}
inline Mint operator[](int pos) const {
if (pos < (int)size()) return vector<Mint>::operator[](pos);
return 0;
}
inline poly operator+(const poly &b) const {
const poly &a = *this;
poly ans(max((int)a.size(), (int)b.size()));
for (int i = 0; i < ans.size(); i++) ans[i] = a[i] + b[i];
return ans;
}
inline poly operator+=(const poly &p) {
return *this = *this + p;
}
inline poly operator-(const poly &b) const {
const poly &a = *this;
poly ans(max((int)a.size(), (int)b.size()));
for (int i = 0; i < ans.size(); i++) ans[i] = (a[i] - b[i]);
return ans;
}
inline poly operator-=(const poly &p) {
return *this = *this - p;
}
inline poly operator*(Mint d) const {
poly ans = *this;
for (int i = 0; i < (int)ans.size(); i++) ans[i] = ans[i] * d;
return ans;
}
inline poly operator*=(Mint d) {
return *this = *this * d;
}
inline poly operator/(Mint d) const {
d = d.inv();
poly ans = *this;
for (int i = 0; i < (int)ans.size(); i++) ans[i] = ans[i] * d;
return ans;
}
inline poly operator/=(Mint d) {
return *this = *this / d;
}
inline poly operator*(const poly &p) const {
return poly(multiply(*this, p)); // here any multiply with fft should be used
}
inline poly operator*=(const poly &p) {
return *this = *this * p;
}
inline poly cut(int n) const {
poly a = (*this);
a.resize(n);
return a;
}
inline poly invp() const {
poly a(1);
a[0] = 1;
if ((*this)[0] != 1) a[0] = (*this)[0].inv();
for (int n = 1; n < (int)size(); n <<= 1) {
poly ca = cut(n + n);
poly ra = (a * a);
ra.cut(n + n);
ra = (ra * ca);
ra.cut(n + n);
a += a;
a -= ra;
a = a.cut(n + n);
}
a.resize(size());
return a;
}
inline poly rev() const {
poly a = (*this);
reverse(a.begin(), a.end());
return a;
}
inline poly getdiv(poly b) const { // use it only to divide polynomials
poly a = (*this);
a.normalize();
b.normalize();
if (a.size() < b.size()) return poly(1);
int k = (int)a.size() - (int)b.size() + 1;
if (b.back() != 1) b /= b.back();
poly rb = b.rev().cut(k);
return (rb.invp() * a.rev()).cut(k).rev();
}
inline poly operator/(const poly &b) const { // use it only to divide polynomials
return getdiv(b);
}
inline poly operator/=(const poly &b) { // use it only to divide polynomials
return *this = *this / b;
}
inline poly operator%(const poly &b) const { // use it only to divide polynomials
poly a = (*this);
poly d = (a / b);
if (d.size() == 1 && d[0] == 0) return a;
poly r = (a - d * b);
r.normalize();
return r;
}
inline poly operator%=(const poly &b) {
return *this = *this % b;
}
inline poly der() const {
const poly& a = (*this);
vector<Mint> ans;
for (int i = 1; i < size(); i++) {
ans.emplace_back(a[i] * i);
}
return ans;
}
inline poly integral() const {
const poly& a = (*this);
vector<Mint> ans;
ans.emplace_back(0);
for (int i = 0; i < size(); i++) {
ans.push_back(a[i] / (i + 1));
}
return ans;
}
};
// n=500k, inv: 300ms, log: 500ms, exp: 1100ms; n=2^17, multipoint: 1500ms
// Newton: solving f(x) = 0, make iterations x = x - f(x)/f'(x)
// be careful with length of a, make 0 at the end to get the longer result
poly polypow(poly P, ll k, int n) {
P.resize(n);
poly ans = poly(n,0);
ans[0] = 1;
for(;k;k>>=1,P*=P,P.resize(n)) {
if(k&1)ans*=P,ans.resize(n);
}
return ans;
}
poly F(poly Q, int deg) {
poly one = poly(deg,0);
one[0]=1;
poly Q2 = Q*Q;
Q2.resize(deg);
poly xQ4 = Q2*Q2;
xQ4.insert(xQ4.begin(), 0);
xQ4.resize(deg);
return one - Q + xQ4*Mint(3);
}
poly dF(poly Q, int deg) {
poly mone = poly(deg,0);
mone[0]=-1;
poly Q2 = Q*Q;
Q2.resize(deg);
poly Q3 = Q2*Q;
Q3.resize(deg);
Q3.insert(Q3.begin(),0);
return mone + Q3*Mint(12);
}
void solve() {
string s;
cin >> s;
vector<int> v;
for(int i = 0; i < s.size(); i++) {
v.push_back((s[i]-i)&3);
while(v.size()>=4&&v[v.size()-4]==v.back()&&v[v.size()-3]==v.back()&&v[v.size()-2]==v.back()) {
for(int j=0;j<4;j++)v.pop_back();
}
}
int n = (s.size() - v.size()) / 4;
int k = v.size();
// cerr << n << " " << k << endl;
poly Q = poly(1,1);
while(Q.size()<n+1) {
cerr << "Q: " << Q.size() << endl;
int deg = Q.size();
poly FQ = F(Q,deg*2);
poly dFQ = dF(Q,deg*2);
cerr << FQ[0] << " " << FQ[1] << endl;
cerr << dFQ[0] << " " << dFQ[1] << endl;
// cerr << "FQ: " << FQ.size() << endl;
poly quo = FQ * dFQ.invp();
cerr << quo[0] << " " << quo[1] << endl;
Q = Q - quo;
Q.resize(deg*2);
}
Q.resize(n+1);
cerr << "Final Q:" << endl;
cerr << Q[0] << " " <<Q[1] << endl;
poly den = Q*Q*Q*Mint(-4);
den.insert(den.begin(),1);
poly P = den.invp();
P.resize(n+1);
poly ans = P*polypow(Q,k,n+1);
cout << ans[n];
}
int main() {
#ifdef ONPC
freopen("../a.in", "r", stdin);
// freopen("../a.out", "w", stdout);
#endif
ios::sync_with_stdio(0);
cin.tie(0);
cout << fixed;
cout.precision(20);
solve();
cerr << "\n\nConsumed " << TIME << endl;
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3616kb
input:
DABC
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
AABBCCDD
output:
1
result:
ok 1 number(s): "1"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3624kb
input:
ABCDABCD
output:
52
result:
ok 1 number(s): "52"
Test #4:
score: 0
Accepted
time: 1ms
memory: 3612kb
input:
CADBDABABABAD
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3684kb
input:
CCBDADBDDABCA
output:
31
result:
ok 1 number(s): "31"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3624kb
input:
DADABDBDCAABB
output:
1
result:
ok 1 number(s): "1"
Test #7:
score: 0
Accepted
time: 1ms
memory: 3576kb
input:
AACDBCBCAAAADCBACDADBBACBBAAAAACBBABBABABADDBCABCADDBDCCCCBBCAABBCBABDACACBDCDBDBCCAADCABAAADDDCABBADDCDDBCADCCCACDDCACDDADADCCACBBBBBDABBCDCCCDCDACACBDBBBBCDADACDDCAADDDCDBDCBDABAACDACDCDAABABBBDCAAC
output:
592
result:
ok 1 number(s): "592"
Test #8:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
CAACDAADBCABCCADDDCDDCDDACDDBDAACDDCAADDABDDAAACCBBBDBCBBACCCBBBDADCCDCDACDDDBCABCCCAACCACDAABABBBABBBDCBDBDABBCCDADBCACACBBDBDAACCDBDBAADACCBCDACDDBDCCBCACAAADBBCBDAABACDBBDDDDCDCBACBAABCBCCBDACCCABCBBBCBBCDAAAADADAADDBAACCCCBCDDCCACDDDCCCCBDCCCCBBACAABDCCDABACBBDDDDCDDABCDDCBBCDBCBCBACADAADACAAAAD
output:
828546992
result:
ok 1 number(s): "828546992"
Test #9:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
AACAACAABBADADDBBCBDCDCDCABBCDACDBCACABDDBADCCBDCBADBDDDBDACCBCABDABDDBDDCCAACDCBCCADBDADDCABAADCCCDDDABDAACBAACADADBACCBAADDABACCACCADADABCBDBDCCBDCAACBCADBBBCCAADADBABBBDADACDDBACCBDBCABCAABBDAACDCCDDBBDADBAAADBACBBCDDCADCDDDADBCBADDABDCCDDDDAACADACDCBADAABAADCBADCBCDDBCDBACBBBBADBBABCBDCBDDBCDBDD...
output:
817427318
result:
ok 1 number(s): "817427318"
Test #10:
score: 0
Accepted
time: 0ms
memory: 3836kb
input:
DAACCADACDAACABADBADAABDACDADDAAADBBAADCCBACBACABCDBDCDBABCCCBDDDBCDADDADCBABAADBBDDDCDCCABACCACDCBAABBABCDBCDDBCAADACDCBBCAADCAADBBCCBABCCBABADACDDDBBCBCAADDBBDDCACDBDCADBADCADADDDAAADDDDDCCCDCBDCDDBACBDBABADBABABBCCCACBADCAABBACCDADABDABDBADDCCCDCBCDDCCBCCCDDBCAAAADCDDCAACACCBADDBADDCDCCADDCDACDCD...
output:
933489696
result:
ok 1 number(s): "933489696"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
BACBDCDBCCABBAADBACDCCAACACDDCACBBDDCABCBBACACDBBCBDAAADAADDCBBDBDABACCACCDBCCBABBDBCDDABBAADBABADACCDDDDACADCCBABBADABCCDACACDADDCDDACAADABAADDBCBAACDBBDABBACBABBCDDBCDDBDDDDCDBBBABDCAACCAADDBBCCCDABCBBCDDCCDBAACCDADCAADBACBBDDBABBAAADBABADCCABACDABBDBDACBDDBCCCDBADACDCDCAABCDBDBCCDCCDDDCCBDCCCBBBD...
output:
246818196
result:
ok 1 number(s): "246818196"
Test #12:
score: 0
Accepted
time: 1ms
memory: 3676kb
input:
CADBBCBBCDCCACBBBCDAADBADCDDBDBDBCCBBAADABBDBBBBBACBCDDCCCBBABBADCADBDBCBADBBBADBCADCBACBADDBAACBDBCDDCDCBAAACDCBCBDDAAADDADCACCBBCCBACBBCBBDBBCDDBACAACADABDCADCBCACDBAABBDBBCDBBBCBBDCBBDDCAABBCBDCDAACBDCCDCCCADBCABDADCDBAAADADDBACCADCCCBCCCBBCDACBDDAACBABBDBAADDBABDACBBDBDDAABDBCBBCAACDCACCCCDBABAD...
output:
973578559
result:
ok 1 number(s): "973578559"
Test #13:
score: 0
Accepted
time: 1ms
memory: 3704kb
input:
DABBCCBBDBADDCCAABDBBBDDADCACDAACCDBCCAABABBDBCDBBABCAACDACCDAADAACBACBCBDBDCABBDCCBBCABABBADBBCDDABBDABDDCBDABAADABDBDADDBDBDBBBBACDABAADCACDAADDDCDADDBBABCBDABADDABBACDADAACDABADBDCDBDBBADAAAADADCDADDACDABDACABBCDDDCBABCCAADCBBDDADDDCBADDCACCDCDDDACDAADADDADBBCAAADBCBDDCBDAACADCDCDCDCABDDBDDCAABCB...
output:
951027687
result:
ok 1 number(s): "951027687"
Test #14:
score: 0
Accepted
time: 1ms
memory: 3716kb
input:
BCDCBCAADADACDACDCACCBAABADCABDBDCAAABACCCCADBABCBBBCCDDCACDCCDABABDBBACABBCDADBCCBBBBCDCCABADBBBDBDCCCDCCDBCACDADBCDAABBBBABDDDBDBBCAACDDABBCDCCCAABBCADBCBCDBCBBDABABBDCACDBACDCCACACBBDCDBBBDDABADBBCCCABABADDAABCDCCCBCCAABBBACCBDBABADABDDBCDBDBABBCBADCAAACBDACDAADCBBBCCBBCBCACABCDCAABCACDCACDCAACDA...
output:
701743515
result:
ok 1 number(s): "701743515"
Test #15:
score: 0
Accepted
time: 1ms
memory: 3652kb
input:
CDACBCACCABBBADBBDAADABACBDACDCBACCCBDBBDBDACBCAABCBCACABABACDCCCAABCDDCAABBAACCACABBDACACDCBCCADDCBDBBBBBDACBCCAADDAACDDDCCCCCBCBBAABDDCACBABCAABBCDDABCBABCBCBABABBDBDDCBBDDCABAABDBCCCCDCDCDCDDDBDAABBCADBDDDCCABDABCBBDBDBDCCACCBDDBDADDABAADCDADCADCCCCBDAABDCCDACABADBACBDAADBDDDDCCCBCDCAAACACDBBADDC...
output:
523242139
result:
ok 1 number(s): "523242139"
Test #16:
score: 0
Accepted
time: 1ms
memory: 3648kb
input:
ABCDACDACADCABBDDABCBDCADCDCACBBBCABDCCDADADCBADCBDCCDBBABABBBBDCDDDDBCBDCBABAACCBDBBCBBBDCDDACABDADAADDDAADBCCAABADAADAAACACCAACDBDCCBABBACDABCDADBCBCDBBCBCDDDDBADCDBAABBACAADDCCBACCACBAAAAACCDBBDDCDABABDACDAADBDCABBBADDDCDCACDBCACBAACAAACDBBBABDCBDABDCBADBBABBAAACBBDCABDBBDCDDBCBCDAABBCABABDABAADA...
output:
204067197
result:
ok 1 number(s): "204067197"
Test #17:
score: 0
Accepted
time: 1ms
memory: 3600kb
input:
CCDADCDCCDCADCABBABACCDAACABCABCBDCAABDCBCADBBCBABBCCBACDBDCADAADDCBDABBCABDCADCBBCBAADADDCAACCDAABCBDBBCDBCBDCDACCABDBCCCCCCCCCCACDBCABACCDCCDACDADADAADBBACBBBDCBADCBBABCDCCDBBAACBDDCDBBDBBBBCDCBDCACDAADACBDDCDCADDBAABBCBAADBCDBCCDDAAAACBBAAACCDBAAACABBBACDABCCCACADBCDDDCCDCCACDCACACCBBABAABDABAADD...
output:
701743515
result:
ok 1 number(s): "701743515"
Test #18:
score: 0
Accepted
time: 1ms
memory: 3712kb
input:
DABBDCCBBDABCDCDDBCBDBABCDADADACCDDDCDAACABDBBAABACCCDCDCBDDDBDBADBDACABCCBCDDCCDBBBADBCBABBBACCCACACCADBCBCBACCADAACDCDAACACBBACCCCDDDCDDADBBCCACBBCBDBCBDACDCDCCBBDBBDBBCCBABAACCDCADADADBCCDABDACDBDBCAACBADDCADCBACAAACABDDCDBCABCAACAADDBBDADCDDBACABAADBCBBADDDAAABCABBDCBBDBABACBDDCBBAABCBDDBDDBABAB...
output:
773765631
result:
ok 1 number(s): "773765631"
Test #19:
score: 0
Accepted
time: 1ms
memory: 3684kb
input:
BCDCCCCDBDCCBABBBCCDBBBBDAABDBDCDDBCDCADDCCCABCDDADDCCBABBCBCDDDBCABBADBBBCAADACBBABABCBDAACCDDCAADCDBCBABCBAACAAABBCDDACCCCCBDCCACBBDCDCDCAAABADBDDADBCBBBADBDCBCCDAABABADBBBDDCAAADBDCADAADAADADCCCABDADAACBCDBCCCCBBADADCABBDABCABBBAAABCDDBCBCAABADADCCDBADBACCABBCAAACCADBDAADDABBDDDBCDCABDCDDADCCACAA...
output:
701743515
result:
ok 1 number(s): "701743515"
Test #20:
score: 0
Accepted
time: 1ms
memory: 3716kb
input:
DDACBCBBACADABDADDDBCACBABBABDCDADDBBBBBABCCABACBAADCAABABBCBBCACCDDCDCAADCDBDDDABDAAAAABBDDDBDBCAAAAABDCACAABCDABDBDCBCAADDCABBCCDAAAABBAAADCDCBAABDBDDDCDDDDBABDCAAABCCADAADCBACCAACDAADBCABCCADDDCDDCDDACDDBDAACDDCAADDABDDAAACCBBBDBCBBACCCBBBDADCCDCDACDDDBCABCCCAACCACDAABABBBABBBDCBDBDABBCCDADBCACAC...
output:
73710745
result:
ok 1 number(s): "73710745"
Test #21:
score: 0
Accepted
time: 0ms
memory: 3856kb
input:
ABCDBCBDACDBDCBCBDDDDDDBBCBCDCBDBDBADDCABDDBDBCADABDCDDCDCBDACBBDCCBDBBAABCCCDBDCBCAACBCDBDAADDAAABCBDDBBDDADCDCABACDCCDBBDBDAADDADDCBDCABCBCBCBADBDBCBACCBDDBCCADDBBDBDCDADABAACAABBDDCBCCBCDDCDCBDCCCACCDBAAADDCCDAACDCDBDDBCBBCCBCABCABBDCACDCABBAAABBACBCDABBCAADACABACCCADDDCDADCADDBBADBDBDCBCDDBCADAA...
output:
57177249
result:
ok 1 number(s): "57177249"
Test #22:
score: 0
Accepted
time: 1ms
memory: 3708kb
input:
CCDAACACACBCCDAADAAABCACCDBABAADBDCDACDCCCABDBADAADACBCDCCAAAAADABBDADBADDCBDDADAABAABDBBCCBCBDDCBCACCCDACDDDDDAACCCACABDDDDDACBDBDDABCDACACBABDDCCBDAABBCDDDDAADDDCBCBADDACACCCBCCCCADACBDDDABBDCDDCBADBBDDBCDDCABDABBDCCCBCCBCCDBCCACDDBCCBDDCCDACCDDDBBAAACABAADBBBAAACDCBBCBCDBCCCABDABBBDDBBDBCDDADAAAD...
output:
73710745
result:
ok 1 number(s): "73710745"
Test #23:
score: 0
Accepted
time: 1ms
memory: 3812kb
input:
BACBBBCACBDAADCACDDBBBCBAABCDADBABCAABDAACBACBBADABCACABCBDBADAABCCADDCCCABBCBDBACCBCABBDABAADAACBBBBBBBCDBDCCBDBCCAADBDDADBABDBCBDDDBDCCDDDBACDADCBBDBCCBDDDDBDBCADDCAABBBAADCADBBDBBACBDDDBDDDDBADDAACDADCCABDBADDBACADDCACAAABBABCDADBADBDCDCDAADAADDADACDDACCCDBBADABBDCDBBDDCBBCBADBBBBDDDBCACBCCBDBACD...
output:
833027709
result:
ok 1 number(s): "833027709"
Test #24:
score: 0
Accepted
time: 1ms
memory: 3564kb
input:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDDBA
output:
5866101
result:
ok 1 number(s): "5866101"
Test #25:
score: 0
Accepted
time: 1ms
memory: 3624kb
input:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCD...
output:
914853204
result:
ok 1 number(s): "914853204"
Test #26:
score: 0
Accepted
time: 4ms
memory: 3708kb
input:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDB...
output:
909918599
result:
ok 1 number(s): "909918599"
Test #27:
score: 0
Accepted
time: 7ms
memory: 3704kb
input:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
output:
946785739
result:
ok 1 number(s): "946785739"
Test #28:
score: 0
Accepted
time: 14ms
memory: 3732kb
input:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
output:
602280332
result:
ok 1 number(s): "602280332"
Test #29:
score: 0
Accepted
time: 14ms
memory: 3956kb
input:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
output:
46400062
result:
ok 1 number(s): "46400062"
Test #30:
score: 0
Accepted
time: 2ms
memory: 3628kb
input:
ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD...
output:
713574388
result:
ok 1 number(s): "713574388"
Test #31:
score: 0
Accepted
time: 2ms
memory: 3628kb
input:
ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD...
output:
821458320
result:
ok 1 number(s): "821458320"
Test #32:
score: 0
Accepted
time: 14ms
memory: 3740kb
input:
ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD...
output:
46400062
result:
ok 1 number(s): "46400062"
Test #33:
score: 0
Accepted
time: 16ms
memory: 3688kb
input:
ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD...
output:
527809091
result:
ok 1 number(s): "527809091"
Test #34:
score: 0
Accepted
time: 15ms
memory: 3668kb
input:
ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD...
output:
511600019
result:
ok 1 number(s): "511600019"
Test #35:
score: 0
Accepted
time: 0ms
memory: 3568kb
input:
ABCDABCBBACBABACAACCBBCACCACCBBBCACAACABCBCACBBABBCBCCCCBCBABCCACBABCCACBCCBCCACBCBCCCBBCBACABCCCACBAABCCBBCBBBCBABBCBCCABCCBBBCABBACCCCBCABAACCABBBABAAACCACCCCAABCABCCABABBAACAACACAACAACCBACCACABCBBACCBBCACCBACBCAACABAABCBABBBBBCCCBBCAACAACACBACBABABACABBCAABCBABABAABABACACAACBCBAABABCCABACBBACBCAC...
output:
5089
result:
ok 1 number(s): "5089"
Test #36:
score: 0
Accepted
time: 1ms
memory: 3664kb
input:
ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABABACCABBCABBCACCACABBCBBCBACBCCBCBCABCBCBBACCACABCACABCCBBCBBCCABABBCCBAABAACBCACBABCACCCCCCCCACBCAACBABACCCAABABAACCBAAABABBAACAB...
output:
803111431
result:
ok 1 number(s): "803111431"
Extra Test:
score: 0
Extra Test Passed