QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#507976#8337. Counter Reset Problemucup-team2307AC ✓366ms18140kbC++179.0kb2024-08-07 01:30:402024-08-07 01:30:42

Judging History

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

  • [2024-08-07 01:30:42]
  • 评测
  • 测评结果:AC
  • 用时:366ms
  • 内存:18140kb
  • [2024-08-07 01:30:40]
  • 提交

answer

#pragma GCC optimize("O2")
#include <bits/stdc++.h>
using ll = long long;
using namespace std;
#define all(x) begin(x), end(x)

using uint = uint32_t;
const int mod = 1000000009;
namespace math {
const int L = 1<<20, A = 1<<20, B = 32, G = 3;
 
#define INLINE inline __attribute__ (( always_inline ))
struct mint {
	uint32_t v;
	template<class T = int>
	mint(T x = 0) {
		x %= mod;
		if(x < 0) x += mod;
		v = x;
	}
	mint operator-() const {
		return mint(v ? mod-v : 0);
	}
	mint &operator*=(const mint &r) {
		v = v*1ll*r.v%mod;
		return *this;
	}
	mint &operator+=(const mint &r) {
		v = v+r.v>=mod ? (v+r.v-mod) : (v+r.v);
		return *this;
	}
	mint &operator-=(const mint &r) { 
		return *this += -r;
	}
	mint &operator/=(const mint &r) {
		return *this *= r.inv();
	}
	friend mint operator+(mint a, const mint &b) {
		return a += b;
	}
	friend mint operator-(mint a, const mint &b) {
		return a -= b;
	}
	friend mint operator*(mint a, const mint &b) {
		return a *= b;
	}
	friend mint operator/(mint a, const mint &b) {
		return a /= b;
	}
	
	template<class T = int>
	mint pow(T p) const {
		mint res = 1, cur = *this;
		while(p) {
			if(p&1) res = res*cur;
			cur = cur*cur, p>>=1;
		}
		return res;
	}
	mint inv() const {
		return mint(*this).pow(mod-2);
	}
	
	friend bool operator==(const mint &a, const mint &b) {
		return a.v == b.v;
	}
	friend bool operator!=(const mint &a, const mint &b) {
		return !(a == b);
	}
	
	friend istream& operator>>(istream &is, mint &m) {
		ll v;
		is >> v;
		m = mint(v);
		return is;
	}
	friend ostream& operator<<(ostream &os, const mint &m) {
		os << m.v; 
		return os;
	}
};
 
mint fact[A], inum[A], ifact[A];
void calc_inum() {
	inum[1] = 1;
	for(int i = 2; i < A; i++) inum[i] = -inum[mod%i]*(mod/i);
}
void calc_combi() {
	if(0 == inum[1]) calc_inum();
	fact[0] = ifact[0] = 1;
	for(int i = 1; i < A; i++) fact[i] = fact[i-1]*i;
	for(int i = 1; i < A; i++) ifact[i] = ifact[i-1]*inum[i];
}
 
mint nck(int n, int k) {
	if(0 == fact[0]) calc_combi();
	if(k > n || k < 0) return 0;
	return fact[n]*ifact[k]*ifact[n-k];
}
 
uint W[L], WI[L];
INLINE void calc_roots() {
	W[0] = 1;
	int g = mint(G).pow((mod-1)/L).v;
	int i;
	for(i = 1; i < L/2; i++) W[i] = W[i-1]*1ull*g%mod;
	for(int x = 2; x < L; x*=2) {
		for(int y = 0; y < L/2; y+=x)
			W[i++] = W[y];
	}
	for(i = 0; i < L; i++) {
		WI[i] = (uint64_t(W[i])<<B)/mod;
	}
}
INLINE void _ntt(int N, vector<mint> &a) {//normal poly -> bit-rev dft | internally [0; 2*mod)
	int pos = 0;
	for(int l = L/2; l != N/2; l/=2)
		pos += l;
	for(int l = N/2; l; l/=2) {
		for(int x = 0; x < N; x+=2*l) {
			for(int j = pos, i = 0; i < l; i++, j++) {
				uint u = a[x+i].v+a[x+l+i].v;
				if(u >= 2*mod) u -= 2*mod;
				uint v = a[x+i].v-a[x+l+i].v+2*mod;
				uint Q = (v*1ull*WI[j])>>B;
				v = v*W[j] - Q*mod;
				a[x+i].v = u, a[x+l+i].v = v;
			}
		}
		pos += l;
	}
	for(int i = 0; i < N; i++) if(a[i].v >= mod) a[i].v -= mod;
}
 
INLINE void _ntt_inv(int N, vector<mint> &a) {//bit-rev dft -> normal poly | internally [0; 4*mod)
	int pos = L-2;
	for(int l = 1; l < N; l*=2) {
		for(int x = 0; x < N; x += 2*l) {
			for(int j = pos, i = 0; i < l; i++, j++) {
				uint u = a[x+i].v, v = a[x+l+i].v;
				uint Q = (WI[j]*1ull*v)>>B;
				if(u >= 2*mod) u -= 2*mod;
				v = v*W[j] - Q*mod;
				a[x+i].v = u+v, a[x+l+i].v = u-v+2*mod;
			}
		}
		pos -= 2*l;
	}
	reverse(1 + all(a));
	mint x = mint((mod+1)/2).pow(__lg(N));
	for(auto &i : a) i *= x;//takes care of 2*mod
}
template<bool inv>
INLINE void ntt(int n, vector<mint> &a) {//don't forget about reverse order
	if(W[0] == 0) calc_roots();
	if(!inv) _ntt(n, a);
	else _ntt_inv(n, a);
}
 
 
struct poly : vector<mint> {
	template<class... Args>
	explicit poly(Args... args) : vector<mint>(args...) {}
	poly(initializer_list<mint> il) : vector<mint>(il.begin(), il.end()) {}
	poly &trim(int k) {// mod x^k
		if(size() > k) {
			erase(begin()+k, end());
			shrink_to_fit();
		}
		return *this;
	}
	poly &trim() {//remove heading zeroes
		int k = 0;
		while(k < size() && (*this)[size()-k-1] == 0) k++;
		trim(size()-k);
		return *this;
	}
	poly low(int k) const {//get first k coefficients
		k = min(k, (int)size());
		poly res;
		for(int i = 0; i < k; i++) res.push_back((*this)[i]);
		return res;
	}
	friend poly operator*(poly a, const poly &b) {
		poly res = b;
		int n = a.size()+b.size()-1;
		while(n&(n-1)) n += n&-n;
		a.resize(n);
		res.resize(n);
		ntt<0>(n, a);
		ntt<0>(n, res);
		for(int i = 0; i < n; i++) res[i] *= a[i];
		ntt<1>(n, res);
		res.trim();//remove ?
		return res;
	}
	poly &operator*=(const poly &b) {
		return (*this) = (*this)*b;
	}
	
	template<class T>
	poly &operator*=(const T &x) {
		for(auto &i : *this) i *= x;
		return *this;
	}
	poly &operator+=(const poly &x) {
		if(size() < x.size()) resize(x.size());
		for(int i = 0; i < min(size(), x.size()); i++) (*this)[i] += x[i];
		return *this;
	}
	poly &operator-=(const poly &x) {
		if(size() < x.size()) resize(x.size());
		for(int i = 0; i < min(size(), x.size()); i++) (*this)[i] -= x[i];
		return *this;
	}
	
	template<class T> friend poly operator*(poly p, const T &x) { return p *= x; }
	template<class T> friend poly operator*(const T &x, poly p) { return p *= x; }
	friend poly operator+(poly p, const poly &x) { return p += x; }
	friend poly operator-(poly p, const poly &x) { return p -= x; }
	
	poly inv(int N) {//first n coefficients of P^-1
		assert((*this)[0].v);
		poly R {(*this)[0].inv()};
		R.reserve(2*N);
		for(int len = 2; len/2 < N; len*=2) {//R' = R(2 - RT)
			poly T = low(len);
			T.resize(2*len);ntt<0>(2*len, T);
			R.resize(2*len);ntt<0>(2*len, R);
			for(int i = 0; i < 2*len; i++) R[i] = R[i]*(2 - R[i]*T[i]);
			ntt<1>(2*len, R);
			R.trim(len);
		}
		return R.trim(N);
	}
	poly &derive() {
		for(int i = 0; i+1 < size(); i++) {
			(*this)[i] = (*this)[i+1]*(i+1);
		}
		pop_back();
		return *this;
	}
	
	poly derivative() { return poly(*this).derive(); }
	poly &integrate() {
		if(0 == inum[1]) calc_inum();
		push_back(0);
		for(int i = size(); i-- > 1;) {
			(*this)[i] = (*this)[i-1] * inum[i];
		}
		(*this)[0] = 0;
		return *this;
	}
	poly integral() { return poly(*this).integrate(); }
	
	poly ln(int N) {//first n coefficients of ln(P) = P'/P
		return (low(N+1).derivative() * inv(N)).trim(N-1).integrate().trim(N);
	}
	poly exp(int N) {//first n coefficients of exp(P), quite slow
		poly R{1};
		for(int len = 2; len/2 < N; len*=2) {
			R = (R*(poly{1}+low(len)-R.ln(len))).trim(len);
		}
		return R.trim(N);
	}
};
}
using namespace math;
const int D = 9;

int getbit(int msk, int b) { return (msk >> b) & 1; }
int update_lds(int msk, int d) {
    // d = D - 1 - d;
    int x = d;
    while(x < 10 && !getbit(msk, x)) x++;
    if(x < 10) msk -= 1<<x;
    return msk + (1<<d);
}

mint count(string N, bool include) {
    reverse(all(N));
    vector dp(1<<D, vector<mint>(2, 0));
    dp[0][include] = 1;
    for(int dig = 0; dig < N.size(); dig++) {
        vector ndp(1<<D, vector<mint>(2, 0));
        for(int msk = 0; msk < 1<<D; msk++) {
            for(int d = 0; d < 10; d++) {
                int nmsk = d ? update_lds(msk, d - 1) : msk;
                for(int flag = 0; flag < 2; flag++) {
                    int N_dig = N[dig] - '0';
                    int nflag = d == N_dig ? flag : d < N_dig;
                    ndp[nmsk][nflag] += dp[msk][flag];
                }
            }
        }
        dp = ndp;
        // for(int msk = 0; msk < 1<<D; msk++) {
        //     if(dp[msk][1].v) cout << msk << " " << dp[msk][1] << endl;
        // }
        // cout << "---" << endl;
    }
    mint ans = 0;
    for(int msk = 1; msk < 1<<D; msk++) {
        ans +=(__builtin_popcount(msk) - 1) * dp[msk][1];
        // if(dp[msk][1].v) cout << msk << " " << dp[msk][1] << endl;
    }
    return ans;
}

int n;
string s;

int easy_score()
{
    mint ans = 0;
    for(auto i : s) ans = (10*ans + i - '0'); ans += 1;
    ans *= 10 - (s[0] - '0');
    for(int d = 0; d < s[0] - '0'; d++) {
        ans += (d+1) * (mint(10).pow(s.size() - 1));
    }
    return ans.v;
}
int hard_score()
{
    return count(s, 1).v;
}
int score()
{
    int A = easy_score();
    int B = hard_score();
    // cout<<s<<" "<<A<<" "<<B<<"\n";
    return (A+B*10ll)%mod;
}

signed main()
{
  cin.tie(0)->sync_with_stdio(0);
  cin.exceptions(cin.failbit);
    // cout << count("040139021316", 1) << endl;
    // cout << count("10", 1) << endl;
    // return 0;

  cin>>n;
// n = 5000;
    string l, r;
    cin>>l>>r;
    // l = r= string(5000, '0');
    // r[0] = '1';
    s = r;
    int A = score();
    int B = 0;
    if (l != string(n, '0'))
    {
        int pos = n-1;
        while (true)
        {
            if (l[pos] == '0')
                l[pos--] = '9';
            else
            {
                l[pos] = l[pos]-1;
                break;
            }
        }
    }
    s = l;
    B = score();
    
    cout<<mint(A-B)<<"\n";
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

2
19 23

output:

51

result:

ok 1 number(s): "51"

Test #2:

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

input:

6
100084 518118

output:

9159739

result:

ok 1 number(s): "9159739"

Test #3:

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

input:

12
040139021316 234700825190

output:

771011551

result:

ok 1 number(s): "771011551"

Test #4:

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

input:

1
5 6

output:

9

result:

ok 1 number(s): "9"

Test #5:

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

input:

2
06 72

output:

609

result:

ok 1 number(s): "609"

Test #6:

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

input:

3
418 639

output:

2912

result:

ok 1 number(s): "2912"

Test #7:

score: 0
Accepted
time: 358ms
memory: 17592kb

input:

5000
0517031462295902016787205636287842713710486158285091634061538907131690102542613263904109051429895599547551249682345434244517372300211330243052548402051817254239088411128320032011447373157210750522722463984933692575118884942425236057310901139962840332684448050855646476051878413350560455871387882...

output:

107583434

result:

ok 1 number(s): "107583434"

Test #8:

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

input:

5000
2839631722409885676641854449409094340492285620998199901290315528351589154393629439187822315178094894928108915180727622985054953310653613329475433266861767377091508110388139487587162480394472451041742086595826537286229012805321959193382957731290351060584443229684181235109638118508206073343246746...

output:

675394398

result:

ok 1 number(s): "675394398"

Test #9:

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

input:

5000
0121086815228520611727091239718315691985426539178955693257347642954702438161323478758508490896602335048895013843711247876462745921412007803120100676220049634783076688779134708737789972863426435630047856085762842025741483042162463573248808646044510524282002015852558702184741741663627502716091539...

output:

578074633

result:

ok 1 number(s): "578074633"

Test #10:

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

input:

5000
4009315923866078525437170431271052539467314353326632440452295409898108927334934001515186676883568587509019024813648111170281871732854866326020722523420074725860024843129825137935119924032162976610499681775742229100481059217175250566980703955103400572138763397380102014106688956905053311588400020...

output:

819323161

result:

ok 1 number(s): "819323161"

Test #11:

score: 0
Accepted
time: 350ms
memory: 18140kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

603082563

result:

ok 1 number(s): "603082563"

Test #12:

score: 0
Accepted
time: 349ms
memory: 16472kb

input:

5000
0000000000633885819366504765094216298281960115914830941309836432136467240201372806102560453534308348622092992247290436462357300397071633074308793521958159789664211849487860185596546426031984309106487856333298764102131430876495841906089018423483214628974388565112953850655936525351241150423557902...

output:

932985830

result:

ok 1 number(s): "932985830"

Test #13:

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

input:

5000
0000000000650071814576152799371217256711135670967833166238159122753757108206475870392502604983652311016561019624401935292136522985447486826468820130245419622704571928465636054879957833368768017917014412258366637135806195430779375102341403097313114652657311053858679927415807978179707936045164697...

output:

272575829

result:

ok 1 number(s): "272575829"

Test #14:

score: 0
Accepted
time: 349ms
memory: 16356kb

input:

5000
0000000000657328094229913746099323221146491408592219130181502886161406660277702363829799840322984053200487383170118175993742015582187072728949691015559424378545103435137870775283813213496909942045139231518000704584636857968337740896332218427286839853901635635205631771246231118877718651555449476...

output:

794251626

result:

ok 1 number(s): "794251626"

Test #15:

score: 0
Accepted
time: 355ms
memory: 16468kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

249826051

result:

ok 1 number(s): "249826051"

Test #16:

score: 0
Accepted
time: 348ms
memory: 17464kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

877173017

result:

ok 1 number(s): "877173017"

Test #17:

score: 0
Accepted
time: 349ms
memory: 16828kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

151485979

result:

ok 1 number(s): "151485979"

Test #18:

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

input:

5000
0159014801946206696258203734914898037641394210297261730549338421564727821732889635369991666567782236274462438080517568850617352494745082823560909208313152733628396054053172422625874823061159544738915513215515633519036492102915591743629184750409504215140627903979481678277623315334259446755105828...

output:

721368738

result:

ok 1 number(s): "721368738"

Test #19:

score: 0
Accepted
time: 356ms
memory: 16116kb

input:

5000
1593096611929089320399735515670839445317319641521540547482273258869976707444342997517499850977225584459583734048472878376916290891193430156881347098295345589049871574695262843296709640049484336491756355117553445542978365925369583583406406734326950373574468989639441003537832172772375589737899071...

output:

938487418

result:

ok 1 number(s): "938487418"

Test #20:

score: 0
Accepted
time: 346ms
memory: 17568kb

input:

5000
1942754790423610065924881906928119381391132828624720869957031069051460107457618922368312221824960963868132141390226651557497490792608519699575355021753486816233381998899114193162905677398416103685843594379329937984889028183716216739319144146889113025558315492727143533792499692123674201374872204...

output:

723492844

result:

ok 1 number(s): "723492844"

Test #21:

score: 0
Accepted
time: 366ms
memory: 18052kb

input:

5000
4062002096644487673020263989686288898129263292181828632789920013217757414472684149988936679623592326524449425327527672207934691459025745820923996124060064518639311904886395009369861933306193619424323629802988069193226260879633708828283152348279888974862721493316338548452978605219663779103239012...

output:

238281829

result:

ok 1 number(s): "238281829"

Test #22:

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

input:

5000
6316405933251299737337372498948127698855361795106851122342961878511099460284477800021689398773624710796531710111934536692264758409336968822534138067510480682327132829787521086380502223411574189720853737018253702539000736954530096098855210480774721647243160303878286632142888618049567476390480811...

output:

438115612

result:

ok 1 number(s): "438115612"

Test #23:

score: 0
Accepted
time: 358ms
memory: 17440kb

input:

5000
4312995075485686062543180629030314065218422802018901116305311949720089333627550862972827086943311274559763137206551659057830635552994046725440486537460417228963181395186626882241528751346159385275967489215558848690842325538312571185487608780842174973345018125820224444022865526286898846914681241...

output:

414266160

result:

ok 1 number(s): "414266160"

Test #24:

score: 0
Accepted
time: 348ms
memory: 17528kb

input:

5000
0258086533802944384387156598490812537122764239806464778492912263251810255189880663895709905649979907456754907239502806015536719760934923039556119131886838490466915234652947639266720467416389230731315037158937990393477937813832384167299260206768010113827843370432177823204051802021354476856735105...

output:

64847676

result:

ok 1 number(s): "64847676"

Test #25:

score: 0
Accepted
time: 356ms
memory: 16148kb

input:

5000
1060908140283541013245888192600010631685552708456164292614908505986842197764899377183662618610397275316175988006855369063828738809624059980852978342235894957407016210764697356445323759567892038560642666695593294909378068235791186540212051512547793737326942353251922108593809646186717444069399194...

output:

46089973

result:

ok 1 number(s): "46089973"

Test #26:

score: 0
Accepted
time: 349ms
memory: 17224kb

input:

5000
4167413337383512335342446844301295061283297832828337586399036812965628809584309280240335156549007875265018403232860390865650403559828858521226576098324688739416592074500021123122165578438715383733724065265859724840752630774162037584065233385787338015652858265386847420952773768786522984341856441...

output:

289963358

result:

ok 1 number(s): "289963358"

Test #27:

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

input:

5000
0016333155368124738088870770938980478519511839121409548927061239607054420424955716374905253395433974120004555646757520979538059659364833035441642423982778149708821441373452828856302141786564332166685062999047362082796733736904461408000518679191248454746816423311171496595881384512371985551985957...

output:

831498184

result:

ok 1 number(s): "831498184"

Test #28:

score: 0
Accepted
time: 356ms
memory: 17076kb

input:

5000
5092536296551794251043181638143747695055047667638655983429584258891712588224325674545229512946356577078967350285969472283180319383912962093190696463627527554628698850690973966211757510848419627816389188773320206947068778989020619318534488026535209398188789706361479060680484488911824233166170381...

output:

232548867

result:

ok 1 number(s): "232548867"

Test #29:

score: 0
Accepted
time: 350ms
memory: 17548kb

input:

5000
4250650491835895211380154911374118880219475610640757916147240362500104880620808530762344123980888292339437259581375290967595195746830677913147601662442399330928582487119875486342332667822985842301686413861142987548286348240942361774457164440066458920375413112071161055538460779044102959044496383...

output:

600488208

result:

ok 1 number(s): "600488208"

Test #30:

score: 0
Accepted
time: 355ms
memory: 17016kb

input:

5000
0000000000689078792067237718947428136594821842520489332698476953096081050443004774491088068653978931122890246667731895978262338006130108971352213349525758787905783267776002539885854055677272999660672296183028350453530189660455899343828445282255728924058584245940525190415132437297972695822279109...

output:

887505503

result:

ok 1 number(s): "887505503"

Test #31:

score: 0
Accepted
time: 356ms
memory: 17020kb

input:

5000
0000000000022121271882232360313107852566602611539514301356520582779830156937109065371076190844344608965131323524013303620896649114825312828542093066291828737963114945513196080146852787896344285823817341460491358653892467153045088134419113464433102015939811049514570760600972457269976090211961884...

output:

805027211

result:

ok 1 number(s): "805027211"

Test #32:

score: 0
Accepted
time: 357ms
memory: 17132kb

input:

5000
0000000000655258143985523409468362333040390212372889201638954055429475496420475344646752673292169310979974004259018721019774943143436225056989315666021154606929955509691052479829612484143399029185137961961904224760687081073181164608976833701710469728964824198019477823573078500411122321352408143...

output:

817305775

result:

ok 1 number(s): "817305775"

Test #33:

score: 0
Accepted
time: 353ms
memory: 16504kb

input:

5000
0000000000977853043576694047225399227210086922493669342733496307897953500774477296874716114502271719675269139177397229134428651178783123755665865371468690966481661122800434360623721854165798451817486468010819158274648686004500174373687929590147693675019891633373560050286228396315148221630242509...

output:

121593917

result:

ok 1 number(s): "121593917"

Test #34:

score: 0
Accepted
time: 357ms
memory: 17812kb

input:

5000
0000000000626847933851084471445813197397273635421637799221686455948052808565622535398102619895781412131685881963406264318131334291574165160956974488702833999982128858907022551925464777356511604362143099588141349054262136650241983023241186850500635027127232298038791110103217925320540465429578079...

output:

859770412

result:

ok 1 number(s): "859770412"

Test #35:

score: 0
Accepted
time: 353ms
memory: 17452kb

input:

5000
0000000000304243401410637355744802808733143685926175829233812528213453479871131108446674596961561046013094838367098551485599110034561978793633844518410906928604462778756766355621615924883101772853369939655287209121141140220603092065096713814992898390786602561069584785944502973388918962251742088...

output:

434661827

result:

ok 1 number(s): "434661827"

Test #36:

score: 0
Accepted
time: 349ms
memory: 17948kb

input:

5000
0000000000610523727147227044245934257508656780055358425742794275244952517850507397695762053339751873109506189007606141604459542156822164518307407582575075315832629466662597041565531419208169767059612454647764252183783064923890418860535482770645486496991346322389178352880274131087767972303098836...

output:

644040569

result:

ok 1 number(s): "644040569"

Test #37:

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

input:

5000
0000000000610091852181247077023000832216456399222387763619927598717508681275035226167283412004673572980957980402717453893826112768338773616062330558592109431953330116618467278798291497747305121371714461244238254762216799625177097143463130298124123226787267816764724839697760759349912767621877855...

output:

83534609

result:

ok 1 number(s): "83534609"

Test #38:

score: 0
Accepted
time: 358ms
memory: 16360kb

input:

5000
0000000000242616738203875233236973861419518431941561736955375287532653293772072421845606880661287146368249482401443956018202758259320445109639150994010196038940287579570474599000817155017574393956188924602724346439261731907670111733479014027966309087906395335929715951402141727143437701610426871...

output:

160784993

result:

ok 1 number(s): "160784993"

Test #39:

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

input:

1
0 0

output:

0

result:

ok 1 number(s): "0"

Test #40:

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

input:

2
00 00

output:

0

result:

ok 1 number(s): "0"

Test #41:

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

input:

3
000 000

output:

0

result:

ok 1 number(s): "0"

Test #42:

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

input:

4
0000 0000

output:

0

result:

ok 1 number(s): "0"

Test #43:

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

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #44:

score: 0
Accepted
time: 356ms
memory: 15988kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

520894423

result:

ok 1 number(s): "520894423"

Test #45:

score: 0
Accepted
time: 354ms
memory: 16416kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

53974188

result:

ok 1 number(s): "53974188"

Test #46:

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

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

961014394

result:

ok 1 number(s): "961014394"

Test #47:

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

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

388131615

result:

ok 1 number(s): "388131615"

Test #48:

score: 0
Accepted
time: 355ms
memory: 17624kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

710918164

result:

ok 1 number(s): "710918164"

Test #49:

score: 0
Accepted
time: 344ms
memory: 17308kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

828554030

result:

ok 1 number(s): "828554030"

Test #50:

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

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

547595944

result:

ok 1 number(s): "547595944"

Test #51:

score: 0
Accepted
time: 356ms
memory: 17268kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

515152604

result:

ok 1 number(s): "515152604"

Test #52:

score: 0
Accepted
time: 353ms
memory: 17808kb

input:

5000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

601070920

result:

ok 1 number(s): "601070920"

Extra Test:

score: 0
Extra Test Passed