QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#362436 | #8512. Harmonic Operations | ucup-team159# | AC ✓ | 16ms | 9420kb | C++20 | 25.9kb | 2024-03-23 15:31:01 | 2024-03-23 15:31:02 |
Judging History
answer
#line 1 "H/main.cpp"
#pragma GCC target("avx2")
//#pragma GCC optimize("Ofast")
//#undef LOCAL
#line 2 "/home/vscode/yosupo-library/src/yosupo/fastio.hpp"
#include <unistd.h>
#include <algorithm>
#include <array>
#include <cassert>
#include <cctype>
#include <cstring>
#include <sstream>
#include <string>
#include <type_traits>
#include <vector>
#include <bit>
#include <cstdint>
#line 2 "/home/vscode/yosupo-library/src/yosupo/internal_type_traits.hpp"
#line 4 "/home/vscode/yosupo-library/src/yosupo/internal_type_traits.hpp"
#include <numeric>
#line 6 "/home/vscode/yosupo-library/src/yosupo/internal_type_traits.hpp"
namespace yosupo {
namespace internal {
template <class T>
using is_signed_int128 =
typename std::conditional<std::is_same<T, __int128_t>::value ||
std::is_same<T, __int128>::value,
std::true_type,
std::false_type>::type;
template <class T>
using is_unsigned_int128 =
typename std::conditional<std::is_same<T, __uint128_t>::value ||
std::is_same<T, unsigned __int128>::value,
std::true_type,
std::false_type>::type;
template <class T>
using make_unsigned_int128 =
typename std::conditional<std::is_same<T, __int128_t>::value,
__uint128_t,
unsigned __int128>;
template <class T>
using is_integral =
typename std::conditional<std::is_integral<T>::value ||
internal::is_signed_int128<T>::value ||
internal::is_unsigned_int128<T>::value,
std::true_type,
std::false_type>::type;
template <class T>
using is_signed_int = typename std::conditional<(is_integral<T>::value &&
std::is_signed<T>::value) ||
is_signed_int128<T>::value,
std::true_type,
std::false_type>::type;
template <class T>
using is_unsigned_int =
typename std::conditional<(is_integral<T>::value &&
std::is_unsigned<T>::value) ||
is_unsigned_int128<T>::value,
std::true_type,
std::false_type>::type;
template <class T>
using to_unsigned = typename std::conditional<
is_signed_int128<T>::value,
make_unsigned_int128<T>,
typename std::conditional<std::is_signed<T>::value,
std::make_unsigned<T>,
std::common_type<T>>::type>::type;
template <class T>
using is_integral_t = std::enable_if_t<is_integral<T>::value>;
template <class T>
using is_signed_int_t = std::enable_if_t<is_signed_int<T>::value>;
template <class T>
using is_unsigned_int_t = std::enable_if_t<is_unsigned_int<T>::value>;
template <class T> using to_unsigned_t = typename to_unsigned<T>::type;
} // namespace internal
} // namespace yosupo
#line 17 "/home/vscode/yosupo-library/src/yosupo/fastio.hpp"
namespace yosupo {
struct Scanner {
public:
Scanner(const Scanner&) = delete;
Scanner& operator=(const Scanner&) = delete;
Scanner(FILE* fp) : fd(fileno(fp)) { line[0] = 127; }
void read() {}
template <class H, class... T> void read(H& h, T&... t) {
bool f = read_single(h);
assert(f);
read(t...);
}
int read_unsafe() { return 0; }
template <class H, class... T> int read_unsafe(H& h, T&... t) {
bool f = read_single(h);
if (!f) return 0;
return 1 + read_unsafe(t...);
}
int close() { return ::close(fd); }
private:
static constexpr int SIZE = 1 << 15;
int fd = -1;
std::array<char, SIZE + 1> line;
int st = 0, ed = 0;
bool eof = false;
bool read_single(std::string& ref) {
if (!skip_space()) return false;
ref = "";
while (true) {
char c = top();
if (c <= ' ') break;
ref += c;
st++;
}
return true;
}
bool read_single(double& ref) {
std::string s;
if (!read_single(s)) return false;
ref = std::stod(s);
return true;
}
template <class T,
std::enable_if_t<std::is_same<T, char>::value>* = nullptr>
bool read_single(T& ref) {
if (!skip_space<50>()) return false;
ref = top();
st++;
return true;
}
template <class T,
internal::is_signed_int_t<T>* = nullptr,
std::enable_if_t<!std::is_same<T, char>::value>* = nullptr>
bool read_single(T& sref) {
using U = internal::to_unsigned_t<T>;
if (!skip_space<50>()) return false;
bool neg = false;
if (line[st] == '-') {
neg = true;
st++;
}
U ref = 0;
do {
ref = 10 * ref + (line[st++] & 0x0f);
} while (line[st] >= '0');
sref = neg ? -ref : ref;
return true;
}
template <class U,
internal::is_unsigned_int_t<U>* = nullptr,
std::enable_if_t<!std::is_same<U, char>::value>* = nullptr>
bool read_single(U& ref) {
if (!skip_space<50>()) return false;
ref = 0;
do {
ref = 10 * ref + (line[st++] & 0x0f);
} while (line[st] >= '0');
return true;
}
bool reread() {
if (ed - st >= 50) return true;
if (st > SIZE / 2) {
std::memmove(line.data(), line.data() + st, ed - st);
ed -= st;
st = 0;
}
if (eof) return false;
auto u = ::read(fd, line.data() + ed, SIZE - ed);
if (u == 0) {
eof = true;
line[ed] = '\0';
u = 1;
}
ed += int(u);
line[ed] = char(127);
return true;
}
char top() {
if (st == ed) {
bool f = reread();
assert(f);
}
return line[st];
}
template <int TOKEN_LEN = 0> bool skip_space() {
while (true) {
while (line[st] <= ' ') st++;
if (ed - st > TOKEN_LEN) return true;
if (st > ed) st = ed;
for (auto i = st; i < ed; i++) {
if (line[i] <= ' ') return true;
}
if (!reread()) return false;
}
}
};
struct Printer {
public:
template <char sep = ' ', bool F = false> void write() {}
template <char sep = ' ', bool F = false, class H, class... T>
void write(const H& h, const T&... t) {
if (F) write_single(sep);
write_single(h);
write<true>(t...);
}
template <char sep = ' ', class... T> void writeln(const T&... t) {
write<sep>(t...);
write_single('\n');
}
Printer(FILE* _fp) : fd(fileno(_fp)) {}
~Printer() { flush(); }
int close() {
flush();
return ::close(fd);
}
void flush() {
if (pos) {
auto res = ::write(fd, line.data(), pos);
assert(res != -1);
pos = 0;
}
}
private:
static std::array<std::array<char, 2>, 100> small;
static std::array<unsigned long long, 20> tens;
static constexpr size_t SIZE = 1 << 15;
int fd;
std::array<char, SIZE> line;
size_t pos = 0;
std::stringstream ss;
template <class T,
std::enable_if_t<std::is_same<char, T>::value>* = nullptr>
void write_single(const T& val) {
if (pos == SIZE) flush();
line[pos++] = val;
}
template <class T,
internal::is_signed_int_t<T>* = nullptr,
std::enable_if_t<!std::is_same<char, T>::value>* = nullptr>
void write_single(const T& val) {
using U = internal::to_unsigned_t<T>;
if (val == 0) {
write_single('0');
return;
}
if (pos > SIZE - 50) flush();
U uval = val;
if (val < 0) {
write_single('-');
uval = -uval;
}
write_unsigned(uval);
}
template <class U, internal::is_unsigned_int_t<U>* = nullptr>
void write_single(U uval) {
if (uval == 0) {
write_single('0');
return;
}
if (pos > SIZE - 50) flush();
write_unsigned(uval);
}
static int calc_len(uint64_t x) {
int i = ((63 - std::countl_zero(x)) * 3 + 3) / 10;
if (x < tens[i])
return i;
else
return i + 1;
}
template <class U,
internal::is_unsigned_int_t<U>* = nullptr,
std::enable_if_t<2 >= sizeof(U)>* = nullptr>
void write_unsigned(U uval) {
size_t len = calc_len(uval);
pos += len;
char* ptr = line.data() + pos;
while (uval >= 100) {
ptr -= 2;
memcpy(ptr, small[uval % 100].data(), 2);
uval /= 100;
}
if (uval >= 10) {
memcpy(ptr - 2, small[uval].data(), 2);
} else {
*(ptr - 1) = char('0' + uval);
}
}
template <class U,
internal::is_unsigned_int_t<U>* = nullptr,
std::enable_if_t<4 == sizeof(U)>* = nullptr>
void write_unsigned(U uval) {
std::array<char, 8> buf;
memcpy(buf.data() + 6, small[uval % 100].data(), 2);
memcpy(buf.data() + 4, small[uval / 100 % 100].data(), 2);
memcpy(buf.data() + 2, small[uval / 10000 % 100].data(), 2);
memcpy(buf.data() + 0, small[uval / 1000000 % 100].data(), 2);
if (uval >= 100000000) {
if (uval >= 1000000000) {
memcpy(line.data() + pos, small[uval / 100000000 % 100].data(),
2);
pos += 2;
} else {
line[pos] = char('0' + uval / 100000000);
pos++;
}
memcpy(line.data() + pos, buf.data(), 8);
pos += 8;
} else {
size_t len = calc_len(uval);
memcpy(line.data() + pos, buf.data() + (8 - len), len);
pos += len;
}
}
template <class U,
internal::is_unsigned_int_t<U>* = nullptr,
std::enable_if_t<8 == sizeof(U)>* = nullptr>
void write_unsigned(U uval) {
size_t len = calc_len(uval);
pos += len;
char* ptr = line.data() + pos;
while (uval >= 100) {
ptr -= 2;
memcpy(ptr, small[uval % 100].data(), 2);
uval /= 100;
}
if (uval >= 10) {
memcpy(ptr - 2, small[uval].data(), 2);
} else {
*(ptr - 1) = char('0' + uval);
}
}
template <
class U,
std::enable_if_t<internal::is_unsigned_int128<U>::value>* = nullptr>
void write_unsigned(U uval) {
static std::array<char, 50> buf;
size_t len = 0;
while (uval > 0) {
buf[len++] = char((uval % 10) + '0');
uval /= 10;
}
std::reverse(buf.begin(), buf.begin() + len);
memcpy(line.data() + pos, buf.data(), len);
pos += len;
}
void write_single(const std::string& s) {
for (char c : s) write_single(c);
}
void write_single(const char* s) {
size_t len = strlen(s);
for (size_t i = 0; i < len; i++) write_single(s[i]);
}
template <class T> void write_single(const std::vector<T>& val) {
auto n = val.size();
for (size_t i = 0; i < n; i++) {
if (i) write_single(' ');
write_single(val[i]);
}
}
};
std::array<std::array<char, 2>, 100> Printer::small = [] {
std::array<std::array<char, 2>, 100> table;
for (int i = 0; i <= 99; i++) {
table[i][1] = char('0' + (i % 10));
table[i][0] = char('0' + (i / 10 % 10));
}
return table;
}();
std::array<unsigned long long, 20> Printer::tens = [] {
std::array<unsigned long long, 20> table;
for (int i = 0; i < 20; i++) {
table[i] = 1;
for (int j = 0; j < i; j++) {
table[i] *= 10;
}
}
return table;
}();
} // namespace yosupo
#line 1 "/home/vscode/ac-library/atcoder/string.hpp"
#line 9 "/home/vscode/ac-library/atcoder/string.hpp"
namespace atcoder {
namespace internal {
std::vector<int> sa_naive(const std::vector<int>& s) {
int n = int(s.size());
std::vector<int> sa(n);
std::iota(sa.begin(), sa.end(), 0);
std::sort(sa.begin(), sa.end(), [&](int l, int r) {
if (l == r) return false;
while (l < n && r < n) {
if (s[l] != s[r]) return s[l] < s[r];
l++;
r++;
}
return l == n;
});
return sa;
}
std::vector<int> sa_doubling(const std::vector<int>& s) {
int n = int(s.size());
std::vector<int> sa(n), rnk = s, tmp(n);
std::iota(sa.begin(), sa.end(), 0);
for (int k = 1; k < n; k *= 2) {
auto cmp = [&](int x, int y) {
if (rnk[x] != rnk[y]) return rnk[x] < rnk[y];
int rx = x + k < n ? rnk[x + k] : -1;
int ry = y + k < n ? rnk[y + k] : -1;
return rx < ry;
};
std::sort(sa.begin(), sa.end(), cmp);
tmp[sa[0]] = 0;
for (int i = 1; i < n; i++) {
tmp[sa[i]] = tmp[sa[i - 1]] + (cmp(sa[i - 1], sa[i]) ? 1 : 0);
}
std::swap(tmp, rnk);
}
return sa;
}
// SA-IS, linear-time suffix array construction
// Reference:
// G. Nong, S. Zhang, and W. H. Chan,
// Two Efficient Algorithms for Linear Time Suffix Array Construction
template <int THRESHOLD_NAIVE = 10, int THRESHOLD_DOUBLING = 40>
std::vector<int> sa_is(const std::vector<int>& s, int upper) {
int n = int(s.size());
if (n == 0) return {};
if (n == 1) return {0};
if (n == 2) {
if (s[0] < s[1]) {
return {0, 1};
} else {
return {1, 0};
}
}
if (n < THRESHOLD_NAIVE) {
return sa_naive(s);
}
if (n < THRESHOLD_DOUBLING) {
return sa_doubling(s);
}
std::vector<int> sa(n);
std::vector<bool> ls(n);
for (int i = n - 2; i >= 0; i--) {
ls[i] = (s[i] == s[i + 1]) ? ls[i + 1] : (s[i] < s[i + 1]);
}
std::vector<int> sum_l(upper + 1), sum_s(upper + 1);
for (int i = 0; i < n; i++) {
if (!ls[i]) {
sum_s[s[i]]++;
} else {
sum_l[s[i] + 1]++;
}
}
for (int i = 0; i <= upper; i++) {
sum_s[i] += sum_l[i];
if (i < upper) sum_l[i + 1] += sum_s[i];
}
auto induce = [&](const std::vector<int>& lms) {
std::fill(sa.begin(), sa.end(), -1);
std::vector<int> buf(upper + 1);
std::copy(sum_s.begin(), sum_s.end(), buf.begin());
for (auto d : lms) {
if (d == n) continue;
sa[buf[s[d]]++] = d;
}
std::copy(sum_l.begin(), sum_l.end(), buf.begin());
sa[buf[s[n - 1]]++] = n - 1;
for (int i = 0; i < n; i++) {
int v = sa[i];
if (v >= 1 && !ls[v - 1]) {
sa[buf[s[v - 1]]++] = v - 1;
}
}
std::copy(sum_l.begin(), sum_l.end(), buf.begin());
for (int i = n - 1; i >= 0; i--) {
int v = sa[i];
if (v >= 1 && ls[v - 1]) {
sa[--buf[s[v - 1] + 1]] = v - 1;
}
}
};
std::vector<int> lms_map(n + 1, -1);
int m = 0;
for (int i = 1; i < n; i++) {
if (!ls[i - 1] && ls[i]) {
lms_map[i] = m++;
}
}
std::vector<int> lms;
lms.reserve(m);
for (int i = 1; i < n; i++) {
if (!ls[i - 1] && ls[i]) {
lms.push_back(i);
}
}
induce(lms);
if (m) {
std::vector<int> sorted_lms;
sorted_lms.reserve(m);
for (int v : sa) {
if (lms_map[v] != -1) sorted_lms.push_back(v);
}
std::vector<int> rec_s(m);
int rec_upper = 0;
rec_s[lms_map[sorted_lms[0]]] = 0;
for (int i = 1; i < m; i++) {
int l = sorted_lms[i - 1], r = sorted_lms[i];
int end_l = (lms_map[l] + 1 < m) ? lms[lms_map[l] + 1] : n;
int end_r = (lms_map[r] + 1 < m) ? lms[lms_map[r] + 1] : n;
bool same = true;
if (end_l - l != end_r - r) {
same = false;
} else {
while (l < end_l) {
if (s[l] != s[r]) {
break;
}
l++;
r++;
}
if (l == n || s[l] != s[r]) same = false;
}
if (!same) rec_upper++;
rec_s[lms_map[sorted_lms[i]]] = rec_upper;
}
auto rec_sa =
sa_is<THRESHOLD_NAIVE, THRESHOLD_DOUBLING>(rec_s, rec_upper);
for (int i = 0; i < m; i++) {
sorted_lms[i] = lms[rec_sa[i]];
}
induce(sorted_lms);
}
return sa;
}
} // namespace internal
std::vector<int> suffix_array(const std::vector<int>& s, int upper) {
assert(0 <= upper);
for (int d : s) {
assert(0 <= d && d <= upper);
}
auto sa = internal::sa_is(s, upper);
return sa;
}
template <class T> std::vector<int> suffix_array(const std::vector<T>& s) {
int n = int(s.size());
std::vector<int> idx(n);
iota(idx.begin(), idx.end(), 0);
sort(idx.begin(), idx.end(), [&](int l, int r) { return s[l] < s[r]; });
std::vector<int> s2(n);
int now = 0;
for (int i = 0; i < n; i++) {
if (i && s[idx[i - 1]] != s[idx[i]]) now++;
s2[idx[i]] = now;
}
return internal::sa_is(s2, now);
}
std::vector<int> suffix_array(const std::string& s) {
int n = int(s.size());
std::vector<int> s2(n);
for (int i = 0; i < n; i++) {
s2[i] = s[i];
}
return internal::sa_is(s2, 255);
}
// Reference:
// T. Kasai, G. Lee, H. Arimura, S. Arikawa, and K. Park,
// Linear-Time Longest-Common-Prefix Computation in Suffix Arrays and Its
// Applications
template <class T>
std::vector<int> lcp_array(const std::vector<T>& s,
const std::vector<int>& sa) {
int n = int(s.size());
assert(n >= 1);
std::vector<int> rnk(n);
for (int i = 0; i < n; i++) {
rnk[sa[i]] = i;
}
std::vector<int> lcp(n - 1);
int h = 0;
for (int i = 0; i < n; i++) {
if (h > 0) h--;
if (rnk[i] == 0) continue;
int j = sa[rnk[i] - 1];
for (; j + h < n && i + h < n; h++) {
if (s[j + h] != s[i + h]) break;
}
lcp[rnk[i] - 1] = h;
}
return lcp;
}
std::vector<int> lcp_array(const std::string& s, const std::vector<int>& sa) {
int n = int(s.size());
std::vector<int> s2(n);
for (int i = 0; i < n; i++) {
s2[i] = s[i];
}
return lcp_array(s2, sa);
}
// Reference:
// D. Gusfield,
// Algorithms on Strings, Trees, and Sequences: Computer Science and
// Computational Biology
template <class T> std::vector<int> z_algorithm(const std::vector<T>& s) {
int n = int(s.size());
if (n == 0) return {};
std::vector<int> z(n);
z[0] = 0;
for (int i = 1, j = 0; i < n; i++) {
int& k = z[i];
k = (j + z[j] <= i) ? 0 : std::min(j + z[j] - i, z[i - j]);
while (i + k < n && s[k] == s[i + k]) k++;
if (j + z[j] < i + z[i]) j = i;
}
z[0] = n;
return z;
}
std::vector<int> z_algorithm(const std::string& s) {
int n = int(s.size());
std::vector<int> s2(n);
for (int i = 0; i < n; i++) {
s2[i] = s[i];
}
return z_algorithm(s2);
}
} // namespace atcoder
#line 7 "H/main.cpp"
using namespace yosupo;
#line 4 "/home/vscode/Algorithm/src/base.hpp"
#include <bitset>
#line 6 "/home/vscode/Algorithm/src/base.hpp"
#include <complex>
#include <cstdio>
#line 9 "/home/vscode/Algorithm/src/base.hpp"
#include <iostream>
#include <map>
#line 12 "/home/vscode/Algorithm/src/base.hpp"
#include <queue>
#include <set>
#line 15 "/home/vscode/Algorithm/src/base.hpp"
#include <unordered_map>
#include <unordered_set>
#line 18 "/home/vscode/Algorithm/src/base.hpp"
#include <memory>
#include <utility>
using namespace std;
using uint = unsigned int;
using ll = long long;
using ull = unsigned long long;
constexpr ll TEN(int n) { return (n == 0) ? 1 : 10 * TEN(n - 1); }
template <class T> using V = vector<T>;
template <class T> using VV = V<V<T>>;
#ifdef LOCAL
ostream& operator<<(ostream& os, __int128_t x) {
if (x < 0) {
os << "-";
x *= -1;
}
if (x == 0) {
return os << "0";
}
string s;
while (x) {
s += char(x % 10 + '0');
x /= 10;
}
reverse(s.begin(), s.end());
return os << s;
}
ostream& operator<<(ostream& os, __uint128_t x) {
if (x == 0) {
return os << "0";
}
string s;
while (x) {
s += char(x % 10 + '0');
x /= 10;
}
reverse(s.begin(), s.end());
return os << s;
}
template <class T, class U>
ostream& operator<<(ostream& os, const pair<T, U>& p);
template <class T> ostream& operator<<(ostream& os, const V<T>& v);
template <class T> ostream& operator<<(ostream& os, const deque<T>& v);
template <class T, size_t N>
ostream& operator<<(ostream& os, const array<T, N>& a);
template <class T> ostream& operator<<(ostream& os, const set<T>& s);
template <class T, class U>
ostream& operator<<(ostream& os, const map<T, U>& m);
template <class T, class U>
ostream& operator<<(ostream& os, const pair<T, U>& p) {
return os << "P(" << p.first << ", " << p.second << ")";
}
template <class T> ostream& operator<<(ostream& os, const V<T>& v) {
os << "[";
bool f = false;
for (auto d : v) {
if (f) os << ", ";
f = true;
os << d;
}
return os << "]";
}
template <class T> ostream& operator<<(ostream& os, const deque<T>& v) {
os << "[";
bool f = false;
for (auto d : v) {
if (f) os << ", ";
f = true;
os << d;
}
return os << "]";
}
template <class T, size_t N>
ostream& operator<<(ostream& os, const array<T, N>& a) {
os << "[";
bool f = false;
for (auto d : a) {
if (f) os << ", ";
f = true;
os << d;
}
return os << "]";
}
template <class T> ostream& operator<<(ostream& os, const set<T>& s) {
os << "{";
bool f = false;
for (auto d : s) {
if (f) os << ", ";
f = true;
os << d;
}
return os << "}";
}
template <class T> ostream& operator<<(ostream& os, const multiset<T>& s) {
os << "{";
bool f = false;
for (auto d : s) {
if (f) os << ", ";
f = true;
os << d;
}
return os << "}";
}
template <class T, class U>
ostream& operator<<(ostream& os, const map<T, U>& s) {
os << "{";
bool f = false;
for (auto p : s) {
if (f) os << ", ";
f = true;
os << p.first << ": " << p.second;
}
return os << "}";
}
struct PrettyOS {
ostream& os;
bool first;
template <class T> auto operator<<(T&& x) {
if (!first) os << ", ";
first = false;
os << x;
return *this;
}
};
template <class... T> void dbg0(T&&... t) {
(PrettyOS{cerr, true} << ... << t);
}
#define dbg(...) \
do { \
cerr << __LINE__ << " : " << #__VA_ARGS__ << " = "; \
dbg0(__VA_ARGS__); \
cerr << endl; \
} while (false);
#else
#define dbg(...)
#endif
#line 10 "H/main.cpp"
Scanner sc = Scanner(stdin);
Printer pr = Printer(stdout);
int main() {
string s;
sc.read(s);
int g = -1, r = -1;
{
int n = int(s.size());
string t = s + s + s;
auto z = atcoder::z_algorithm(t);
dbg(z);
for (int i = 1; i <= n; i++) {
if (z[i] >= n) {
g = i;
break;
}
}
assert(g != -1);
}
{
int n = int(s.size());
string sr = s;
reverse(sr.begin(), sr.end());
string t = s + sr + sr;
auto z = atcoder::z_algorithm(t);
for (int i = 0; i < n; i++) {
if (z[n + i] >= n) {
r = (n - i) % n;
break;
}
}
}
dbg(g, r);
using P = pair<int, int>;
VV<ll> dp(2, V<ll>(g));
dp[0][0] = 1;
P p0 = P(0, 0), p1 = P(1, 0);
ll ans = 0;
int q;
sc.read(q);
for (int ph = 0; ph < q; ph++) {
string ty;
sc.read(ty);
if (ty == "I") {
swap(p0, p1);
} else if (ty == "L") {
int x;
sc.read(x);
p0.second = ((p0.second - x) % g + g) % g;
p1.second = (p1.second + x) % g;
} else if (ty == "R") {
int x;
sc.read(x);
p0.second = (p0.second + x) % g;
p1.second = ((p1.second - x) % g + g) % g;
} else {
assert(false);
}
ans += dp[p0.first][p0.second];
if (r != -1) {
ans += dp[p1.first][(p1.second + r) % g];
}
dp[p0.first][p0.second]++;
}
pr.writeln(ans);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3920kb
input:
pda 2 R 2 L 2
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3952kb
input:
aaa 4 R 1 I I R 1
output:
10
result:
ok 1 number(s): "10"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
caso 6 L 1 I I R 1 I I
output:
4
result:
ok 1 number(s): "4"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq 100 L 12 I R 47 L 54 I I R 80 L 86 L 19 R 5 L 53 L 40 R 20 L 11 R 40 I I R 66 R 6 L 76 L 93 R 39 I I L 24 R 59 R 99 L 52 I I R 77 L 11 R 60 L 16 I L 40 I R 35 L 64 R 11 L 34 I R 35 I L 87 I I L 42 L ...
output:
5050
result:
ok 1 number(s): "5050"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
wewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewewe 100 R 83 R 34 I I R 87 R 74 L 98 I L 77 L 8 R 23 L 94 I I L 79 L 87 L 47 L 85 L 49 L 7 I I R 97 R 15 I R 66 L 8 R 62 R 68 I I R 32 R 24 R 36 L 60 R 75 R 77 I L 42 I L 61 I I R 78 R 51 L 98 I L 77 I I...
output:
2556
result:
ok 1 number(s): "2556"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3676kb
input:
rtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtr 100 R 27 R 68 I L 29 L 51 L 19 L 12 L 10 L 52 L 38 L 17 R 30 L 29 L 51 L 17 R 29 I R 96 R 50 R 56 I I I L 73 L 15 I R 1 R 81 L 94 R 27 R 52 R 57 R 44 I I L 53 I R 87 L 39 L 25 I I R 25 I I I L 88 L ...
output:
116
result:
ok 1 number(s): "116"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
tcldtcldtcldtcldtcldtcldtcldtcldtcld 100 L 20 I I I L 20 R 13 L 16 L 19 R 10 I I I L 11 R 30 R 30 I L 35 I L 28 R 23 R 24 L 20 R 15 I I L 13 I R 1 I R 6 I I L 22 I L 22 R 22 L 30 L 30 I I I R 35 I R 3 L 1 R 4 I R 11 R 2 R 21 R 15 I R 5 L 2 L 4 L 7 L 19 L 29 R 8 I L 24 I I I L 29 I R 35 R 32 I R 14 L...
output:
703
result:
ok 1 number(s): "703"
Test #8:
score: 0
Accepted
time: 0ms
memory: 3728kb
input:
wflbkhwflbkhwflbkhwflbkhwflbkhwflbkh 100 I R 28 R 13 R 7 R 29 I I I R 25 R 10 R 23 I R 26 I I L 18 I R 18 L 6 I I R 8 R 8 I R 6 L 16 I R 2 R 17 L 31 R 31 L 22 R 26 L 21 L 20 R 10 L 13 R 33 R 13 R 35 R 22 L 2 L 4 R 19 L 32 L 25 I L 31 R 10 R 17 R 15 L 6 L 9 R 31 R 20 I I R 4 I L 30 L 30 L 2 R 18 R 35...
output:
442
result:
ok 1 number(s): "442"
Test #9:
score: 0
Accepted
time: 0ms
memory: 3764kb
input:
mzgaokjwpmzgaokjwpmzgaokjwpmzgaokjwp 100 R 10 I L 24 L 8 I L 19 L 25 I I R 27 R 24 I I L 16 I I L 35 R 14 I L 23 R 17 R 16 R 4 R 4 L 29 I R 11 R 9 R 15 I L 18 I I L 25 R 13 L 24 I I L 8 I I I I L 24 I I L 19 L 23 I L 20 R 35 L 31 I I R 27 I I I L 35 R 16 L 10 R 28 R 14 I I R 30 R 18 L 16 L 6 L 12 R ...
output:
280
result:
ok 1 number(s): "280"
Test #10:
score: 0
Accepted
time: 0ms
memory: 3660kb
input:
gtvcymjngzntgtvcymjngzntgtvcymjngznt 100 L 33 L 5 R 31 R 18 I R 14 R 9 L 1 I R 1 R 15 L 15 I I I L 13 R 7 I I L 2 I L 3 I L 19 L 22 L 2 R 32 I L 1 R 24 R 23 I R 25 L 11 R 34 R 25 I L 25 R 22 R 34 I I L 2 R 13 L 3 I L 30 I R 7 R 20 I R 24 L 34 R 23 I L 26 R 22 I I I R 17 I I L 14 R 27 R 35 I L 34 L 3...
output:
206
result:
ok 1 number(s): "206"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3660kb
input:
dvaauyemcqhrmduoumdvaauyemcqhrmduoum 100 L 21 R 12 R 30 L 13 I I L 1 L 31 R 4 L 20 I L 6 I L 29 R 19 L 12 R 25 R 25 I R 21 I L 12 L 25 R 35 L 8 R 7 R 29 I R 4 L 24 R 29 I I I L 12 L 24 R 19 L 33 L 4 I R 35 I R 16 I R 10 I R 18 R 7 L 33 I I R 22 L 16 L 7 L 20 R 32 I I R 27 I L 9 R 16 I I R 32 I R 1 L...
output:
180
result:
ok 1 number(s): "180"
Test #12:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
pkmsckbnjeeojagpdtfxlmlgofbrygcuqiahynrwooxgdruurdgxoowrnyhaiqucgyrbfoglmlxftdpgajoeejnbkcsmkplhxxhl 100 L 14 R 54 L 88 L 66 L 38 R 91 I I I I R 56 L 4 L 76 R 12 L 86 I I I I R 52 L 98 L 98 L 39 R 60 L 14 R 23 R 92 R 99 L 71 I I I I L 1 R 33 I R 65 L 72 I I I R 20 R 48 L 81 L 7 I R 72 R 14 I I R 10 ...
output:
75
result:
ok 1 number(s): "75"
Test #13:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
txgcggvgarkkflejgkaukutnsjogrglpdmocuhyiboientoffaaaffotneiobiyhucomdplgrgojsntukuakgjelfkkragvggcgxt 100 R 35 R 84 I R 68 R 24 L 42 L 24 R 16 R 80 R 95 L 9 L 26 L 96 R 64 I R 56 I L 5 R 83 R 2 R 57 R 28 I R 17 I R 11 I R 100 L 42 I L 89 I L 91 I I R 78 I R 30 L 6 I L 56 L 48 R 79 L 8 I R 5 L 25 R 2...
output:
76
result:
ok 1 number(s): "76"
Test #14:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
qhygenaiejhluibjfyjbdoslylsodbjyfjbiulhjeianegyhqydgoxbmbcuslmfqgraeqkpuerbnbreupkqeargqfmlsucbmbxogdy 100 L 41 R 73 R 41 I R 59 R 77 I I R 21 L 5 R 30 R 3 L 94 I L 36 R 2 R 85 L 39 L 17 R 47 I R 86 L 30 R 38 R 80 I R 39 I I L 99 I L 15 I L 76 L 68 L 91 I R 71 R 36 L 14 L 15 I L 63 R 71 I L 38 I R 3...
output:
48
result:
ok 1 number(s): "48"
Test #15:
score: 0
Accepted
time: 14ms
memory: 9148kb
input:
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...
output:
20000100000
result:
ok 1 number(s): "20000100000"
Test #16:
score: 0
Accepted
time: 14ms
memory: 9232kb
input:
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu...
output:
20000100000
result:
ok 1 number(s): "20000100000"
Test #17:
score: 0
Accepted
time: 11ms
memory: 9148kb
input:
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii...
output:
20000100000
result:
ok 1 number(s): "20000100000"
Test #18:
score: 0
Accepted
time: 14ms
memory: 9228kb
input:
opopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopopop...
output:
10000007832
result:
ok 1 number(s): "10000007832"
Test #19:
score: 0
Accepted
time: 4ms
memory: 9364kb
input:
asasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasas...
output:
199395
result:
ok 1 number(s): "199395"
Test #20:
score: 0
Accepted
time: 9ms
memory: 9300kb
input:
dffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdffdff...
output:
6666663346
result:
ok 1 number(s): "6666663346"
Test #21:
score: 0
Accepted
time: 6ms
memory: 9256kb
input:
ghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghjghj...
output:
3333345323
result:
ok 1 number(s): "3333345323"
Test #22:
score: 0
Accepted
time: 14ms
memory: 9268kb
input:
lkkzzkklzkklzzklllkzlkkzzzzlzlzlkzlzzzkzlklzkklzlzzlzlllkkzlzkkklklkzkkzllklkzkzzzkzkkzzllzllzzkkkzkzzkzklzzzzkllzkzlklzlkzllkkllzzlzkzkzlllzlllkzzkzkkzzkkzlllzzllkkzlkklllzzzkkzkzkkllkklzkkkzzzzlkzlzklzllzkklkzlzzzlzlzkzllkklzlkklzlkllzklllkllzzzzllzllkkllzlklkkllzzlzzlllzzzklzzkkkzlklkkkzlzllzllzk...
output:
74917
result:
ok 1 number(s): "74917"
Test #23:
score: 0
Accepted
time: 11ms
memory: 9140kb
input:
albusdamhnkbpphiurtnhdggnfjsvsdcypnsqurbidrszoremwfrqmdmyjkbxfpdcalhcmtehpatfqupucnlzelvkadygbhlrjjbmlyitutipaermatkqdtdfrmfsnfptcomcpnlkxnunvtbxllyyghykifokwklpptkocrgxjtmcnogbgnhlcgtapemexkxoocllzbsszztvctjnmlnkgrbplakpxgujpfrpelngfoknvrsdqvrdqzajbxtirdsmiekycojmhsbcqkclzsowkvuzmsysmialqmfivvzgndq...
output:
74399
result:
ok 1 number(s): "74399"
Test #24:
score: 0
Accepted
time: 8ms
memory: 8496kb
input:
rniwfckztiivwkcnxteghcavxgiqsygrpxnliiojczdxqylzgnztcburluxmntpjlwxhyugympaeewrjkugdzntrkdkaxgflgfhzxpsaisggvbwmeirprlowksbmyhmjbvtujsvhoawqzqoqcuyzeijmbgqnhzwhyficrtyjrxhlfwqiantnxnbjtxlrzomwycuxohpfschpxbwogepfjmkuxpupulgdkvelkodyoslajfftymsiazgrzhircmdetthficiexfhxoomkmqijoxocqlxmhgwcisiyhurxfkub...
output:
85203
result:
ok 1 number(s): "85203"
Test #25:
score: 0
Accepted
time: 4ms
memory: 9164kb
input:
fbjylvxoacqlofjvtxpkgglsfesutcqgpipusktuafjmqwqzqgvmnsvahecjbkakutjmblicyiufpjxdtvgsfioluxgukurkccjcynmakwrjdpksdbuqvmjwaadzrhugptwljgawlbscvligbhxeqldczpljzttlzpnmgotkwpuqboompspvbdhaocdirrlwiocmwuqgcghbwgrvsmtzgigucucrukpywyfwrbwaixrslahweekucosreiwgkozmistchdimjnktpxbqxriexqsmympycuwmhaymyzauihhh...
output:
125637
result:
ok 1 number(s): "125637"
Test #26:
score: 0
Accepted
time: 11ms
memory: 9364kb
input:
euzfuvlnzbucvvvbalzcpurzbolgxoohfnfzlrcbpjnxisidecdojzafzaanklvzyttgccekghsomgybamfcwmlvntnavtasvomczpxvzqnacyltszblvbuwwhdmezclilyygggnjjfcshghnitimbtmxbapgkvjhtmwvhlhlfjifhfrazrhpgrdjktaaqspduyxturzecvvubbuhhjvuwzycbdrjjkosiprxomxeobdyqknjidiediyzhihchbginbulepyrgoheosvyhyrkicglsorfzxksrxjyupkzyiz...
output:
124360
result:
ok 1 number(s): "124360"
Test #27:
score: 0
Accepted
time: 16ms
memory: 9420kb
input:
unbnsxcgavvynxatgliythqvjqyfkyldaytaopgdxfqtpyeuyccuounieygpllptrxmesjwgojroodmlzdezcffoxxbffgcsbltnuwbzbhfnbaehkdsuzsjimuubljrtlejbmaxjmpghjashysifcffsbbyzpnxmcehqsnnvbiuobcrimodyfwofowvdpmimsckhceinykwdvnqlvavfczsucdfeilmzqdiaqwdhndljyfahmzrjgimootbmndqnpjkspcgngsvojexrxjlomnlvvaamwzgxdjjjhocvvkqh...
output:
124758
result:
ok 1 number(s): "124758"
Test #28:
score: 0
Accepted
time: 8ms
memory: 8516kb
input:
njvekjflgdvxrkxymgepijcnrjqzroaaschvnlgpavcffffjeyjoigrunncmoduswvmnuojqgsaujhaqrmfmoqwzvajhxdffuztanwynaatjnkbrdgslgetypxtmkraaggdjiyxnfbxbgwkftzxsshrfnbphodltgcguncndshlosjzkychbislawtyrdnjvekjflgdvxrkxymgepijcnrjqzroaaschvnlgpavcffffjeyjoigrunncmoduswvmnuojqgsaujhaqrmfmoqwzvajhxdffuztanwynaatjnkb...
output:
52918599
result:
ok 1 number(s): "52918599"
Test #29:
score: 0
Accepted
time: 12ms
memory: 8404kb
input:
irnzrcherzsoipcrgzkfzycvkrypbdnzeqjtttgpgllujmiaumswqqlajbszcgmmhxxfggnqsvtcewakiqcbjsxaaoryifhvqctuhxbegmzoxjxdmfsxlzudhvboknidjgdgadqgncppnwqtzburacucgctrrwmyhfdxpiybbibvbtcgykiyimkhvxzsxldmsgqrqzqdxhdkxymloksnhkohmuocpfgesgvokzcthvuuklmrdygrpvmiulovrjtwfobrtxajrbbtnmltsduhkxffkvpuvvyjiaydjxdhdoxg...
output:
2006481
result:
ok 1 number(s): "2006481"
Test #30:
score: 0
Accepted
time: 12ms
memory: 8404kb
input:
ckewrtmlvdfgrtwhqfhrnnaqqpbzvnrjnqhclnuigkqtyqcrfdzlxtrtsuefvzytfhohexuytggxkljigzmkbscyeelgmtrzaolaitmzmttbdclogmzyyguzjejehuaybrrrlgxwpukqhhnrucszkympotlckwtaiwedtybbkhlyyzllbtwqbenluuhmnbvdsgtqrqwvmhjbknaljiaigoimvjdpfualdcwmhngjirsyyojkycnkyqjinpfffegisghwsdblsvzelczqnfcnqpsnpiqfuefnntruntrscori...
output:
1827034
result:
ok 1 number(s): "1827034"
Test #31:
score: 0
Accepted
time: 12ms
memory: 8396kb
input:
clhtskvezsrhnbrtcavswrsilokwqjirzrlfusiiaembtaekmfrffcjmdysafvxyszyobzqbzzgofiunqvsiuttrgxqhhwbnlsesjmfgpdxaykhmfvmxeyfmwhwrnnnqtsyiokbbscmahshftklzucxtudozqcjxnmfffbggnlnfxmbyeifksecwwitglclbmtfpmccvcqjopqzvrbcjnyvhcheviialyjanngeohjxcfxdvnjmkcetseshlggkevayqpcijydtmqobtcdqaorsqhcaddyezvkgwlheejcmc...
output:
986982
result:
ok 1 number(s): "986982"
Test #32:
score: 0
Accepted
time: 10ms
memory: 8448kb
input:
mmcwddbgxskxzjukffqmzvpzhvfytgsugruqwlbbvnpwtvrhjjhdynenaifbljwgaasyzyyabpghmnlezfxhkuujtczchcpotpzvczjjzcvasrnlejelkuesljstscuupwoivjecvrgukipjlmkrvbdirrxqbikqghmxtshxmsermfspigatgrlwyxqfkymhhoajjpzjjsyinpsvooqjjvovpttggwxvlnzhbnmhaczpnlozaxeervjaexiviutxxhgjgoapbcksddztddnsdyiecoagrcvownnxtxzkquyv...
output:
86036
result:
ok 1 number(s): "86036"
Test #33:
score: 0
Accepted
time: 13ms
memory: 9184kb
input:
bznsrbrsyugevrwjgvjlvdpcojndmrzypethckuwmdwutbqkeumdqgwwyypxfrcpejmpmdtryvfnfsyonmusidvrriokmklmjqjexwbkhagyayumotuzormcvqvjwtzolvrxmwiujrgulxjnrjfcbtczbshktkimdmbgqltsmozdeeuxpfhxucjtfnzrqgufdvzgsxbfaivlsfwtztqvkkrtnzjuhxihytkdjsnlnrtmhfvlvzmblnsnnktphimkgrregecbycbujcbhytwhpshushnsgmlrfxshvvnsqnmb...
output:
22394048
result:
ok 1 number(s): "22394048"
Test #34:
score: 0
Accepted
time: 11ms
memory: 9152kb
input:
ppnclotgolzjqnbxzdtgjocaggxughxevjnelmshfjyynnxdqxtmdkpmrhqyojptvbibtonizeqzdeusykdegxewvpcrfwxtryctwilmkiaxvtrpesxvkqgrwonallqtunoqprvqdzlaemwnkfhhapzcvpemmdpbinjjdsosevzzhpwafgozruwrzdfeixfslwmtnweehlrgdvbtfqfsrhukhqsyozdltqqzsspznbkppqxbznksfmbiwrpgzlfbzfciumbhuqcszdtgwtalsetpjowxccgogavemfxtgwok...
output:
75612
result:
ok 1 number(s): "75612"
Test #35:
score: 0
Accepted
time: 14ms
memory: 9312kb
input:
ttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbgmttcpbg...
output:
1428581328
result:
ok 1 number(s): "1428581328"
Test #36:
score: 0
Accepted
time: 14ms
memory: 9316kb
input:
whnqukzmwgsuzlkvbzqsyjietfpvhjbywaghyimtxlgfqtihizmrnoecskpwwzsnvqubrafgbwrbczqmvvnlymrtmmrlsyfemraiqyqjwmzweirfdeddfskajjtbuunwhjvnypxzgrqsxxvkdjdpbwkuovdvgvqntixlnucpisdkiemwhtqhyfyvkwroepfotjtylskrxdzihqrfopldsutzoyasyhxjalanwcpyrjiekkmcdsvmngexgzbljbjkisohcdvjtaxdeqporvimzsllllkglgmhgyytfpjniacn...
output:
372901
result:
ok 1 number(s): "372901"
Test #37:
score: 0
Accepted
time: 13ms
memory: 9316kb
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
75344
result:
ok 1 number(s): "75344"
Extra Test:
score: 0
Extra Test Passed