#include <stdio.h>
#include <string.h>
typedef long long ll;
char X[200005],Y[200005]; int XN, YN;
const ll MOD = 19980305;
ll res;
bool same() {
if(XN != YN) return false;
for(int i = 1; i <= XN; i++) if(X[i] != Y[i]) return false;
return true;
}
int main() {
int i, j;
scanf("%s%s", X+1, Y+1);
XN = strlen(X+1);
YN = strlen(Y+1);
ll last = 0;
for(i = 1; i <= XN; i++) last = (last * 10 + X[i] - '0') % MOD;
do {
ll now = 0;
for(i = XN; i > 0; i--) {
if(X[i] == '3') {X[i] = '5'; break; }
else if(X[i] == '5') {X[i] = '8'; break; }
else X[i] = '3';
}
if(i <= 0){
++XN;
for(i = 1; i <= XN; i++) X[i] = '3';
}
for(i = 1; i <= XN; i++) now = (now * 10 + X[i] - '0') % MOD;
res = (res + last * now) % MOD;
last = now;
}while(!same());
printf("%lld\n", res);
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
1276 KB |
Output is correct |
2 |
Correct |
0 ms |
1276 KB |
Output is correct |
3 |
Correct |
0 ms |
1276 KB |
Output is correct |
4 |
Correct |
1 ms |
1276 KB |
Output is correct |
5 |
Correct |
0 ms |
1276 KB |
Output is correct |
6 |
Correct |
0 ms |
1276 KB |
Output is correct |
7 |
Correct |
0 ms |
1276 KB |
Output is correct |
8 |
Correct |
0 ms |
1276 KB |
Output is correct |
9 |
Correct |
0 ms |
1276 KB |
Output is correct |
10 |
Correct |
0 ms |
1276 KB |
Output is correct |
11 |
Correct |
0 ms |
1276 KB |
Output is correct |
12 |
Correct |
0 ms |
1276 KB |
Output is correct |
13 |
Correct |
0 ms |
1276 KB |
Output is correct |
14 |
Correct |
0 ms |
1276 KB |
Output is correct |
15 |
Correct |
0 ms |
1276 KB |
Output is correct |
16 |
Correct |
0 ms |
1276 KB |
Output is correct |
17 |
Correct |
0 ms |
1276 KB |
Output is correct |
18 |
Correct |
0 ms |
1276 KB |
Output is correct |
19 |
Correct |
0 ms |
1276 KB |
Output is correct |
20 |
Correct |
0 ms |
1276 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
1276 KB |
Output is correct |
2 |
Correct |
2 ms |
1276 KB |
Output is correct |
3 |
Correct |
0 ms |
1276 KB |
Output is correct |
4 |
Correct |
2 ms |
1276 KB |
Output is correct |
5 |
Correct |
1 ms |
1276 KB |
Output is correct |
6 |
Correct |
0 ms |
1276 KB |
Output is correct |
7 |
Correct |
0 ms |
1276 KB |
Output is correct |
8 |
Correct |
3 ms |
1276 KB |
Output is correct |
9 |
Correct |
0 ms |
1276 KB |
Output is correct |
10 |
Correct |
0 ms |
1276 KB |
Output is correct |
11 |
Correct |
4 ms |
1276 KB |
Output is correct |
12 |
Correct |
3 ms |
1276 KB |
Output is correct |
13 |
Correct |
2 ms |
1276 KB |
Output is correct |
14 |
Correct |
0 ms |
1276 KB |
Output is correct |
15 |
Correct |
0 ms |
1276 KB |
Output is correct |
16 |
Correct |
6 ms |
1276 KB |
Output is correct |
17 |
Correct |
0 ms |
1276 KB |
Output is correct |
18 |
Correct |
0 ms |
1276 KB |
Output is correct |
19 |
Correct |
0 ms |
1276 KB |
Output is correct |
20 |
Correct |
0 ms |
1276 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1276 KB |
Output is correct |
2 |
Correct |
1 ms |
1276 KB |
Output is correct |
3 |
Correct |
3 ms |
1276 KB |
Output is correct |
4 |
Correct |
4 ms |
1276 KB |
Output is correct |
5 |
Correct |
3 ms |
1276 KB |
Output is correct |
6 |
Correct |
0 ms |
1276 KB |
Output is correct |
7 |
Correct |
1 ms |
1276 KB |
Output is correct |
8 |
Correct |
3 ms |
1276 KB |
Output is correct |
9 |
Correct |
3 ms |
1276 KB |
Output is correct |
10 |
Correct |
0 ms |
1276 KB |
Output is correct |
11 |
Correct |
2 ms |
1276 KB |
Output is correct |
12 |
Correct |
2 ms |
1276 KB |
Output is correct |
13 |
Correct |
1 ms |
1276 KB |
Output is correct |
14 |
Correct |
1 ms |
1276 KB |
Output is correct |
15 |
Correct |
3 ms |
1276 KB |
Output is correct |
16 |
Correct |
2 ms |
1276 KB |
Output is correct |
17 |
Correct |
1 ms |
1276 KB |
Output is correct |
18 |
Correct |
0 ms |
1276 KB |
Output is correct |
19 |
Correct |
2 ms |
1276 KB |
Output is correct |
20 |
Correct |
2 ms |
1276 KB |
Output is correct |
21 |
Correct |
1 ms |
1276 KB |
Output is correct |
22 |
Correct |
1 ms |
1276 KB |
Output is correct |
23 |
Correct |
0 ms |
1276 KB |
Output is correct |
24 |
Correct |
0 ms |
1276 KB |
Output is correct |
25 |
Correct |
0 ms |
1276 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1000 ms |
0 KB |
Program timed out |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
1000 ms |
0 KB |
Program timed out |
2 |
Halted |
0 ms |
0 KB |
- |