QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#581951#464. 前缀函数 / KMPxorzjAC ✓5ms4056kbC++178.7kb2024-09-22 14:43:162024-09-22 14:43:22

Judging History

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

  • [2024-09-22 14:43:22]
  • 评测
  • 测评结果:AC
  • 用时:5ms
  • 内存:4056kb
  • [2024-09-22 14:43:16]
  • 提交

answer

#include <bits/stdc++.h>
#define rep(a, b, c) for (int a = b; a <= c; a++)
#define ALL(x) (x).begin(), (x).end()
#define IOS cin.tie(0)->sync_with_stdio(false)
#ifdef LOCAL
#include "debug.h"
#else
#define deb(...) 42
#endif
#define OPENSTACK
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
const int MAXN = 2e5 + 5;
const int INF = 0x3f3f3f3f;
template <class T>
constexpr T qpow(T a, ll b)
{
    T res = 1;
    for (; b; b /= 2, a *= a) {
        if (b % 2) {
            res *= a;
        }
    }
    return res;
}

constexpr ll mul(ll a, ll b, ll p)
{
    ll res = a * b - ll(1.L * a * b / p) * p;
    res %= p;
    if (res < 0) {
        res += p;
    }
    return res;
}
template <ll P>
struct MLong {
    ll x;
    constexpr MLong() : x{} {}
    constexpr MLong(ll x) : x{ norm(x % getMod()) } {}

    static ll Mod;
    constexpr static ll getMod()
    {
        if (P > 0) {
            return P;
        }
        else {
            return Mod;
        }
    }
    constexpr static void setMod(ll Mod_) { Mod = Mod_; }
    constexpr ll norm(ll x) const
    {
        if (x < 0) {
            x += getMod();
        }
        if (x >= getMod()) {
            x -= getMod();
        }
        return x;
    }
    constexpr ll val() const { return x; }
    explicit constexpr operator ll() const { return x; }
    constexpr MLong operator-() const
    {
        MLong res;
        res.x = norm(getMod() - x);
        return res;
    }
    constexpr MLong inv() const
    {
        assert(x != 0);
        return qpow(*this, getMod() - 2);
    }
    constexpr MLong& operator*=(MLong rhs)&
    {
        x = mul(x, rhs.x, getMod());
        return *this;
    }
    constexpr MLong& operator+=(MLong rhs)&
    {
        x = norm(x + rhs.x);
        return *this;
    }
    constexpr MLong& operator-=(MLong rhs)&
    {
        x = norm(x - rhs.x);
        return *this;
    }
    constexpr MLong& operator/=(MLong rhs)& { return *this *= rhs.inv(); }
    friend constexpr MLong operator*(MLong lhs, MLong rhs)
    {
        MLong res = lhs;
        res *= rhs;
        return res;
    }
    friend constexpr MLong operator+(MLong lhs, MLong rhs)
    {
        MLong res = lhs;
        res += rhs;
        return res;
    }
    friend constexpr MLong operator-(MLong lhs, MLong rhs)
    {
        MLong res = lhs;
        res -= rhs;
        return res;
    }
    friend constexpr MLong operator/(MLong lhs, MLong rhs)
    {
        MLong res = lhs;
        res /= rhs;
        return res;
    }
    friend constexpr std::istream& operator>>(std::istream& is, MLong& a)
    {
        ll v;
        is >> v;
        a = MLong(v);
        return is;
    }
    friend constexpr std::ostream& operator<<(std::ostream& os, const MLong& a)
    {
        return os << a.val();
    }
    friend constexpr bool operator==(MLong lhs, MLong rhs)
    {
        return lhs.val() == rhs.val();
    }
    friend constexpr bool operator!=(MLong lhs, MLong rhs)
    {
        return lhs.val() != rhs.val();
    }
};

template <>
ll MLong<0LL>::Mod = ll(1E18) + 9;

template <int P>
struct MInt {
    int x;
    constexpr MInt() : x{} {}
    constexpr MInt(ll x) : x{ norm(x % getMod()) } {}

    static int Mod;
    constexpr static int getMod()
    {
        if (P > 0) {
            return P;
        }
        else {
            return Mod;
        }
    }
    constexpr static void setMod(int Mod_) { Mod = Mod_; }
    constexpr int norm(int x) const
    {
        if (x < 0) {
            x += getMod();
        }
        if (x >= getMod()) {
            x -= getMod();
        }
        return x;
    }
    constexpr int val() const { return x; }
    explicit constexpr operator int() const { return x; }
    constexpr MInt operator-() const
    {
        MInt res;
        res.x = norm(getMod() - x);
        return res;
    }
    constexpr MInt inv() const
    {
        assert(x != 0);
        return qpow(*this, getMod() - 2);
    }
    constexpr MInt& operator*=(MInt rhs)&
    {
        x = 1LL * x * rhs.x % getMod();
        return *this;
    }
    constexpr MInt& operator+=(MInt rhs)&
    {
        x = norm(x + rhs.x);
        return *this;
    }
    constexpr MInt& operator-=(MInt rhs)&
    {
        x = norm(x - rhs.x);
        return *this;
    }
    constexpr MInt& operator/=(MInt rhs)& { return *this *= rhs.inv(); }
    friend constexpr MInt operator*(MInt lhs, MInt rhs)
    {
        MInt res = lhs;
        res *= rhs;
        return res;
    }
    friend constexpr MInt operator+(MInt lhs, MInt rhs)
    {
        MInt res = lhs;
        res += rhs;
        return res;
    }
    friend constexpr MInt operator-(MInt lhs, MInt rhs)
    {
        MInt res = lhs;
        res -= rhs;
        return res;
    }
    friend constexpr MInt operator/(MInt lhs, MInt rhs)
    {
        MInt res = lhs;
        res /= rhs;
        return res;
    }
    friend constexpr std::istream& operator>>(std::istream& is, MInt& a)
    {
        ll v;
        is >> v;
        a = MInt(v);
        return is;
    }
    friend constexpr std::ostream& operator<<(std::ostream& os, const MInt& a)
    {
        return os << a.val();
    }
    friend constexpr bool operator==(MInt lhs, MInt rhs)
    {
        return lhs.val() == rhs.val();
    }
    friend constexpr bool operator!=(MInt lhs, MInt rhs)
    {
        return lhs.val() != rhs.val();
    }
};

template <>
int MInt<0>::Mod = 998244353;

template <int V, int P>
constexpr MInt<P> CInv = MInt<P>(V).inv();

constexpr int P = 20100601;
using Z = MInt<P>;
struct Comb {
    int n;
    std::vector<Z> _fac;
    std::vector<Z> _invfac;
    std::vector<Z> _inv;

    Comb() : n{ 0 }, _fac{ 1 }, _invfac{ 1 }, _inv{ 0 } {}
    Comb(int n) : Comb() { init(n); }

    void init(int m)
    {
        m = std::min(m, Z::getMod() - 1);
        if (m <= n) return;
        _fac.resize(m + 1);
        _invfac.resize(m + 1);
        _inv.resize(m + 1);

        for (int i = n + 1; i <= m; i++) {
            _fac[i] = _fac[i - 1] * i;
        }
        _invfac[m] = _fac[m].inv();
        for (int i = m; i > n; i--) {
            _invfac[i - 1] = _invfac[i] * i;
            _inv[i] = _invfac[i] * _fac[i - 1];
        }
        n = m;
    }

    Z fac(int m)
    {
        if (m > n) init(2 * m);
        return _fac[m];
    }
    Z invfac(int m)
    {
        if (m > n) init(2 * m);
        return _invfac[m];
    }
    Z inv(int m)
    {
        if (m > n) init(2 * m);
        return _inv[m];
    }
    Z binom(int n, int m)
    {
        if (n < m || m < 0) return 0;
        return fac(n) * invfac(m) * invfac(n - m);
    }
    Z catalan(int n)
    {
        //C(2n,n)/(n+1)
        return binom(2 * n, n) - binom(2 * n, n - 1);
    }
} comb;
// z[i]= [i,n)以 i 开头的后缀和原串的最长公共前缀 (LCP)的长度
vector<int> z_function(const string& s)
{
    int n = s.length();
    vector<int> z(n);
    for (int i = 1, l = 0, r = 0; i < n; i++) {
        if (i <= r && z[i - l] < r - i + 1)
            z[i] = z[i - l];
        else {
            z[i] = max(0, r - i + 1);
            while (i + z[i] < n && s[z[i]] == s[i + z[i]]) z[i]++;
        }
        if (i + z[i] - 1 > r) l = i, r = i + z[i] - 1;
    }
    z[0] = n;
    return z;
}
// 如果求匹配就把待匹配串拼到文本串前面
vector<int> kmp(const string& s, const string& t)
{
    int n = s.length(), m = t.length();
    vector<int> pmt(m);
    // getpmt
    // 在 s 中匹配 t
    // pmt[i] 是 [0,i] 的最长公共前后缀长度
    for (int i = 1, j = 0; i < m; i++) {
        while (j && t[i] != t[j]) j = pmt[j - 1];
        if (t[i] == t[j]) j++;
        pmt[i] = j;
    }
    // for (int i = 0, j = 0; i < n; i++) {
    //     while (j && s[i] != t[j]) j = pmt[j - 1];
    //     if (s[i] == t[j]) j++;
    //     if (j == m) {
    //         cout << i - j + 2 << "\n";
    //         j = pmt[j - 1];
    //     }
    // }
    return pmt;
}
void solve()
{
    string s;
    cin >> s;
    auto z = kmp("", s);
    for (int i = 0; i < s.size(); i++)cout << z[i] << ' ';

}
int main()
{
#ifdef LOCAL
#ifdef OPENSTACK
    int size = 128 << 20; // 64MB
    char* p = (char*) malloc(size) + size;
#if (defined _WIN64) or (defined __unix)
    __asm__("movq %0, %%rsp\n" ::"r"(p));
#else
    __asm__("movl %0, %%esp\n" ::"r"(p));
#endif
#endif
#endif
    IOS;
    int _ = 1;
    while (_--) {
        solve();
    }
#ifdef LOCAL
#ifdef OPENSTACK
    exit(0);
#else
    return 0;
#endif
#endif
}

詳細信息

Test #1:

score: 100
Accepted
time: 4ms
memory: 3816kb

input:

mencimencimencimencimencimencimencimenciyvdfitnmencimencimencimencimencimencimencimenciyvdfitnmencimencimencimencimencimencimencimenciyvdfitnmencimencimencimencimencimencimencimenciyvdfitnmencimencimencimencimencimencimencimenciyvdfitnmencimencimencimencimencimencimencimenciyvdfitnmencimencimencimen...

output:

0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ...

result:

ok 100000 numbers

Test #2:

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

input:

hyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioihyaknoipnoizjoictsapioioi...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 8...

result:

ok 100000 numbers

Test #3:

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

input:

dccdcbacdadaccadcbddcccadcbaccdcaacaacaacdddadddaccacbccdcdbcbccbabaacbdccadadaadcadadbcbbccabadcbdbbabaabdbdabdacbcadadccacaadddabadcabdbddadacdcdbddccbadccdbcadddbabcbddbadbdccbcabbbcacddbdbcbdabaaabcbcbcdccaabbbbddbcbdcbcacbbbdbdbdcccbcadadbcdabdaccbdaadadcdacabbdadababadccaddbcbacdddbdaddadcabaa...

output:

0 0 0 1 2 0 0 0 1 0 1 0 0 0 0 1 2 0 1 1 2 3 0 0 1 2 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 0 1 0 1 0 0 1 2 0 1 0 1 0 0 0 0 0 0 0 0 0 1 2 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 2 3 0 0 0 0 1 1 1 0 0 0 1 2 0 0 1 0 1 1 0 1 0 0 1 2 1 0 1 1 ...

result:

ok 100000 numbers

Test #4:

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

input:

daecacbeccccdbbaebaeeddaaccbcbccbcceadeadeeeccbbececdaedabeddcbcbddbebeebdceebddbddddcaddcdcdabbbeccbecdcebeecbeccadbeecabbacdcabdeaeeeacaeeaccaabeabaddbdaabbeebbedaabadbacdcdedcbebbbccbcbdbccbbdecadceebcbaacbbeeeeeebadcccbadcdbdcbcbeddcbababaceeeabebdaacdcdbadedcacbbbbcacbaacdebccddadcbdbebdbeebcde...

output:

0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 2 3 1 2 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #5:

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

input:

wikipediaishostedbythewikimediafoundationanonprofitorganizationthatalsohostsarangeofotherprojectswikipediaishostedbythewikimediafoundationanonprofitorganizationthatalsohostsarangeofotherprojectswikipediaishostedbythewikimediafoundationanonprofitorganizationthatalsohostsarangeofotherprojectswikipedia...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 3...

result:

ok 100000 numbers

Test #6:

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

input:

thetiananmensquaremassacreorthetiananmensquareincidentcommonlyknownasthejunefourthincidentthetiananmensquaremassacreorthetiananmensquareincidentcommonlyknownasthejunefourthincidentthetiananmensquaremassacreorthetiananmensquareincidentcommonlyknownasthejunefourthincidentthetiananmensquaremassacreorth...

output:

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ...

result:

ok 100000 numbers

Test #7:

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

input:

hcgbgdebehcfabfggdhgdhcbadehegchfgdaafebhcedddhdffhhbhfaeeebcbffahadagacccgdbdacedehheebffedbdgbccddeffhdfbdhdbhhehhedeefdhbhbefbcehhddabdcdhchdhfdafcdeahhedgbffegfbbbbcahebgceffhahbgcbagghbegcadbfbghhhfbdbhagachcbgcfedeccfdabdhccafdgcbaeadcfaagdbcfbdegbebhgbedaddfcdbbgdafeheecdfdcageacdedaagdhdgfbg...

output:

0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 1 0 0 1 2 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 2 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 2 1 0 1 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #8:

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

input:

abhfdbecddegggdgedchebbdhbgfichbecfhbdeagigaiebbeadhcaegeciecfdebachddgeegbbcfebhedgiidcfbfidheghhegebgfhegfcifcdhdiaebdefaeheeieccgdbcdcahhgdibibaeechfbedfaccihafcefiafaciabeihhdbbfiacfdcaefcbdaccfcbfaaaihggighidchiiidciedfddcdfebbchbicbfbaahcfefhifegbgadciggegadfdahceiaebfgbbahiaefibhediheeghbhcfb...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 ...

result:

ok 100000 numbers

Test #9:

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

input:

eehbajgihhcffaabdjhahigjggabhebjfieabdhhchhcbeijdffegicibbfgfgcdcbiehedfcagahaffhgechccbefjeijjbdeeffdfaijaddababgchdicdegjhajeeicijhjebbhaehhjeaafefjbghhaiggfjjaaacbfehjeaeijbghadbgichcbjddafafhdfigjaefggjjcfceggifaahbjhbchbggijijhchjcbgbdabgdbbccaaagcdeeaagiggbecffjhcjcjhhbbciggbdbgbjcjjcbajcidacb...

output:

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 2 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ...

result:

ok 100000 numbers

Test #10:

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

input:

fkhhajejijdabgccfhffekjjhdggcfedkbdgadadihckegecjeedaifchbajicajieiadaecfhbbhfjdaeafcjfgdhdeiehedjkhifhfhfeijejjaiifahdakdhhgehigjkhdjhgdbkkbhbahegjbhijhggabdfakkcfgbgaidkeeafgfakahekhdchabbdkjgfkkhkfjjkgkgddijbhbiffkjkaifkeddaabadfjajbekaahdiaijgkkahhdcaajadbcdkjaabgjjeekhfhbagffbiaedddkjkjdfdfdcgj...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #11:

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

input:

ijhjjigggjjggjhjjijihjjihgjjhihgjjhjjiiiiihjjijjiijjhihgfjjiijjjjgighhfgjjfijjjjijijjijhihjgjigjjhjhjjjhjdhjijejjijjjijhijghjiijjijgijjhjjihijijijhjgjjjjijjiijjgjjjiijgjjijhjjhgjghhjjihjhfijjjjiijjijjjfifijgijhjjjjjjjjjijjhjjfijjjijjehjhjjiijfeiihejijijiijhgjjjjihjjjejjjjfhjjjfihigjjijijgjifijjhjjhj...

output:

0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 2 0 1 1 2 0 0 1 0 0 0 0 0 1 1 2 0 0 0 0 1 0 0 0 0 0 0 0 0 1 2 0 0 0 1 2 1 2 0 1 2 3 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 1 2 0 0 1 2 3 1 2 0 0 0 1 1 2 0 1 2 0 1 2 0 0 0 0 1 0 1 2 1 2 1 2 3 4 0 0 ...

result:

ok 100000 numbers

Test #12:

score: 0
Accepted
time: 2ms
memory: 4012kb

input:

jjjfjiijhijhjijhjiijhijjjjjgjifihiijjjjhhijjjigjgjijijjiijfijiijijfhijhijjjjjjjjijijejjjiijeijjhjigjjihjijjihjjjjjjjiihieijjjihihjijhjjjjijijdhjjjihhehcjjijiijjfhggjhfjjjjjjijjjjjigieihjiijijjgfjihjjhhjiijijjjjjjiggghjijjgijfjighjjjgjigijjgjiiiijiijigjgjijjiijjijiijhjjhjjjjhfjjjiiieijfififijihjheihj...

output:

0 1 2 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1 2 3 3 3 0 1 0 0 0 0 0 0 1 2 3 3 0 0 0 1 2 3 0 0 1 0 1 0 1 0 1 2 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 2 3 3 3 3 3 3 0 1 0 1 0 1 2 3 0 0 1 0 0 1 2 0 1 0 0 1 2 0 0 1 0 1 2 0 0 1 2 3 3 3 3 3 0 0 0 0 0 0 1 2 3 0 0 0 0 1 0 1 0 1 2 3 3 0 1 0 1 0 0 1 2 3 0 0 0 0 ...

result:

ok 100000 numbers

Test #13:

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

input:

hjfjjjgjiajijhjijhijhgjijijhjjijfjhiiihijhjjjjhijjjjjiijhjjjjihidjijjhiiigdhjijjjjhijijihijjjjijjjiijcigihijihijgijjijijiijjijijgjigjjjjijjiijhjjfijijidijgihjijjjhjfjjjjijijiiigiiijijjhjfhjjgjjfijhijijejjjjijjjjijghejgjifjjjjiijhjjijjjjidjjjjgijgjjhjjjihhhihijjiigjiiijjjijjijiiihjijjjijijjhjhgjjjhhh...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 1 0 0 1 0 0 0 0 0 0 1 2 0 0 0 0 0 1 0 0 0 1 0 0 1 2 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 2 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #14:

score: 0
Accepted
time: 5ms
memory: 4048kb

input:

jgjjihiiihhijjhjijjjifhjijjjgjjijgjijjghjjijeghgjjjjjjijjgjifijgjjjijijgjhjhicijijgjijjihcjjijgjjijjjjjhijjihijjjiijhhfjjijhiijjjejjjggjjjjhhiijijhjjjjhgjhjejejhijgijhijjhjgijijijjhjijjjgifhijjhijijigijjjjghdijghjgjifiijijigidfjjhiijgjjijjiiiifhjijjjcjijhjjjiijjijjejjjjihjjijjjfijjijiiijigjijhfijjji...

output:

0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 2 3 4 5 1 2 3 0 1 1 2 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 2 3 0 0 0 1 2 3 4 1 0 1 0 1 2 3 0 1 0 0 0 0 1 0 1 2 3 0 1 1 0 0 0 1 1 0 1 2 3 4 5 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 1 2 0 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 ...

result:

ok 100000 numbers

Test #15:

score: 0
Accepted
time: 2ms
memory: 3824kb

input:

hgjgjjjiijjjghjjijhjjjijijhijjgjjiiiijjhjjjhgjjiiihiijjhigbjjihihjjhjghgjffjhiiihjihjjjigjijjhjjijjgjcjjjiijjiijhjjhjjjhjijegiijhjjjjjgeghfijfijgijjiijjjjijhihjjghggjhjjjjijbjjijjiejjhgijighhjfijjhchfjijiijighihgieiijijhijjjjjjjijgjijjjjijjiiehijjjjhhjjjcjijfhjigjghijjjigjhjjjjjhhjjjjjigjgijjgjjgjji...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 2 3 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 2 3 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #16:

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

input:

ijjijjjjjjjjhjijjjjjiijiijjjjijjjjjijiijihjjjijjijjgijjhjjjhjjigjjijijjijihjjjjfjjhjjjjijjjjjjjjjjijhjjjjjhjjjjjgiijijjjjjjijjjjjjjijjjjjjijhjjjhjjjjjijjjjjjijjjjijjjjjjjjjjjijijijjihjijhjjjjjihjjjjjjjhjijjijjjjjjjjjijijjjijjjijjjjiijjjijjjijjijjjijjgjjhjgjjijjjjijjjjjjhjijjjhjjjijjiiijjjjjijijhjhjh...

output:

0 0 0 1 2 3 0 0 0 0 0 0 0 0 1 2 3 0 0 0 1 1 2 1 1 2 3 0 0 1 2 3 0 0 0 1 2 1 1 2 1 0 0 0 0 1 2 3 4 5 6 0 1 2 3 0 0 0 0 0 0 0 1 0 0 0 1 2 1 2 3 4 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 1 2 3 0 0 0 0 1 2 3 0 0 0 0 0 1 2 3 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #17:

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

input:

jjjjjjhjjiigjjjjjihiihjjjjjijhiiiijjjjihjijjjjijjjiijjjijjjjjjjjjjjjgijijjijjjijgjjjjjjjjjgijjjiijijijjjjgjjijijjgjjjjjhijjjjjijjhijijjjjjijjjjjjjjhjjijjjijjjiijijjjjjhjijjjjjjjijjjgjhiihjhhjijhiijjjjjjjjijjhgjjijijjjjijjhijehjjjjjijjjjijjjgijjiijjijijijijjijjjjjhjijjihjjjijjhjjjjjijjijijjiijjjijjij...

output:

0 1 2 3 4 5 0 1 2 0 0 0 1 2 3 4 5 0 0 0 0 0 1 2 3 4 5 0 1 0 0 0 0 0 1 2 3 4 0 0 1 0 1 2 3 4 0 1 2 3 0 0 1 2 3 0 1 2 3 4 5 6 6 6 6 6 6 6 0 0 1 0 1 2 0 1 2 3 0 1 0 1 2 3 4 5 6 6 6 6 0 0 1 2 3 0 0 1 0 1 0 1 2 3 4 0 1 2 0 1 0 1 2 0 1 2 3 4 5 0 0 1 2 3 4 5 0 1 2 0 0 1 0 1 2 3 4 5 0 1 2 3 4 5 6 6 6 7 8 9 ...

result:

ok 100000 numbers

Test #18:

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

input:

hjjjjjjjjjijjjjjjjijjjjhjjjhjijijijjejjjjjgiijjjijjjjjijgijihijjjjjijjjjjijjjjjjijighjjhiijihjjjiijjjjiijifhjiijijiiiijjfihjijjjjjijgjjijjijjjijjjjiijjgjjjjjjjjjjhjjhiijjjjejjjihjjijjjjjijjijijijjjjijjijijjjijjijjiijijjjhhjiijijjjjjjjhijiijjjjiiihjjjjjjjijjjjijhhjjjiijhjjjijjijjjjjjjjiijfijjjjjjjjii...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 1 0 0 0 0 1 2 3 4 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #19:

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

input:

hhfhhghhhghhhghhhhghhhhfhhhhhhhghhhhhhghgdhhhhehhhhhhhgghfhhgghgghhhhgfhhhhhhhhhghhhhhhhhhhghghhhhhgghhhhghhhhhhghhhhhhhhghhhhhhhghhhhhehhhhhghhhhhhhhhhhhhhhhhefhhghhhghghhhehhhghhghhhghghghhhhghhhhhhghhhhhhghhhghhggfghhghhhghhhhhhhhhghghghhhhhhhhhhhhhhhghhhhhhhghhhhghhhgghhhgghhhhhhhghhhhhhhhhhhhhh...

output:

0 1 0 1 2 0 1 2 2 0 1 2 2 0 1 2 2 2 0 1 2 2 2 3 4 5 2 2 2 2 2 0 1 2 2 2 2 2 0 1 0 0 1 2 2 2 0 1 2 2 2 2 2 2 0 0 1 0 1 2 0 0 1 0 0 1 2 2 2 0 0 1 2 2 2 2 2 2 2 2 0 1 2 2 2 2 2 2 2 2 2 0 1 0 1 2 2 2 2 0 0 1 2 2 2 0 1 2 2 2 2 2 0 1 2 2 2 2 2 2 2 0 1 2 2 2 2 2 2 0 1 2 2 2 2 0 1 2 2 2 2 0 1 2 2 2 2 2 2 2 ...

result:

ok 100000 numbers

Test #20:

score: 0
Accepted
time: 2ms
memory: 3848kb

input:

hhhghhhhhgghhhhhhhghhhhhghhhhgghhhhdhhhhhhghhhhhgfhhggfghhghhhgfhhhhghhhhhhhghhhfhhhhhhhgghfhhhhghhghhhhghhhhghhehhhhhghhhhhghhhgghhghhghhhhhhhhhhhghghgghhhhghhhhhhghhgheghdfhghffghhhgghhghhhhhghfghgghhhhhhhghhhhghghfhhhghhhhhhhhhghhhhhghhhhghfhhhgfhdhhhhhghghghhhhhfghfhhhhhhhghghhhhhhghhhghehhhhhhg...

output:

0 1 2 0 1 2 3 3 3 4 0 1 2 3 3 3 3 3 4 5 6 7 8 9 10 5 6 7 8 4 0 1 2 3 3 0 1 2 3 3 3 3 4 5 6 7 8 9 10 0 1 2 0 0 0 0 1 2 0 1 2 3 4 0 1 2 3 3 4 5 6 7 8 9 3 3 4 5 6 7 0 1 2 3 3 3 3 3 4 0 1 0 1 2 3 3 4 5 6 0 1 2 3 3 4 5 6 7 8 4 5 6 0 1 2 3 3 3 4 5 6 7 8 9 10 5 6 7 4 0 1 2 0 1 2 0 1 2 3 3 3 3 3 3 3 3 3 4 5...

result:

ok 100000 numbers

Test #21:

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

input:

nnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawdrscqmcuqxnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawdrscqmcuqxnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawnnnnnnnnqawdrscqmcuqxnnnnnn...

output:

0 1 2 3 4 5 6 7 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

result:

ok 100000 numbers

Test #22:

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

input:

kkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifsbtbaipssflkkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifsbtbaipssflkkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifskkkkkkkkifsbtbaipssflkkkkkk...

output:

0 1 2 3 4 5 6 7 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

result:

ok 100000 numbers

Test #23:

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

input:

mmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkbfflhilakcmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkbfflhilakcmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkmmmmmmmmjhkbfflhilakcmmmmmm...

output:

0 1 2 3 4 5 6 7 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

result:

ok 100000 numbers

Test #24:

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

input:

uuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumurotunqchvkbuuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumurotunqchvkbuuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumuruuuuuuuumurotunqchvkbuuuuuu...

output:

0 1 2 3 4 5 6 7 0 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 0 0 1 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

result:

ok 100000 numbers

Test #25:

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

input:

llllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtksmwlnlvedllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtksmwlnlvedllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtllllllllabtksmwlnlvedllllll...

output:

0 1 2 3 4 5 6 7 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 0 0 0 0 1 0 1 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

result:

ok 100000 numbers

Test #26:

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

input:

ffffhokffffhokffffhokffffhokfvhpimffffhokffffhokffffhokffffhokfvhpimffffhokffffhokffffhokffffhokfvhpimffffhokffffhokffffhokffffhokfvhpimffffhokffffhokffffhokffffhokfvhpimffffhokffffhokffffhokffffhokfvhpimffffhokffffhokffffhokffffhokfvhpimffffhokffffhokffffhokffffhokfvhpimnpyipcoayzdakjbmgffffhokffff...

output:

0 1 2 3 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ...

result:

ok 100000 numbers

Test #27:

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

input:

ccccccccericcccccccericcccccccericccccccceringjniouccccccccericcccccccericcccccccericccccccceringjniouccccccccericcccccccericcccccccericccccccceringjniouccccccccericcccccccericcccccccericccccccceringjniourrlxvwyblzctrocccccccccericcccccccericcccccccericccccccceringjniouccccccccericcccccccericccccccc...

output:

0 1 2 3 4 5 6 7 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ...

result:

ok 100000 numbers

Test #28:

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

input:

yyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyxcxemdsfeyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyxcxemdsfeyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyyyyyyyyaveyxcxemdsfeyyyyyy...

output:

0 1 2 3 4 5 6 7 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...

result:

ok 100000 numbers

Test #29:

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

input:

ppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqcyeecvhavmydmuppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqqppppppppjqq...

output:

0 1 2 3 4 5 6 7 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96...

result:

ok 100000 numbers

Test #30:

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

input:

sssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgyyrlongmugzesssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgysssshgyyrlongmugzesssshgysssshgysssshgysssshgysssshgysssshgysssshgyssssh...

output:

0 1 2 3 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 9...

result:

ok 100000 numbers

Test #31:

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

input:

whydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakwhydoyoualwaysakgmclepywpcmoxlmpewhydoyoualwaysakwhydoyoualw...

output:

0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 9...

result:

ok 100000 numbers

Test #32:

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

input:

wearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorwearamaskuseatorgwrxpyrnrtrxuvritwearamaskuseatorwearamaskus...

output:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 9...

result:

ok 100000 numbers

Test #33:

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

input:

abaababaabaababaababaabaababaabaababaababaabaababaababaabaababaabaababaababaabaababaabaababaababaabaababaababaabaababaabaababaababaabaababaababaabaababaabaababaababaabaababaabaababaababaabaababaababaabaababaabaababaababaabaababaabaababaababaabaababaababaabaababaabaababaababaabaababaababaabaababaabaa...

output:

0 0 1 1 2 3 2 3 4 5 6 4 5 6 7 8 9 10 11 7 8 9 10 11 12 13 14 15 16 17 18 19 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52...

result:

ok 100000 numbers

Test #34:

score: 0
Accepted
time: 5ms
memory: 3832kb

input:

shadowsocksvpnshadowsocksshadowsocksvpnshadowsocksvpnshadowsocksshadowsocksvpnshadowsocksshadowsocksvpnshadowsocksvpnshadowsocksshadowsocksvpnshadowsocksvpnshadowsocksshadowsocksvpnshadowsocksshadowsocksvpnshadowsocksvpnshadowsocksshadowsocksvpnshadowsocksshadowsocksvpnshadowsocksvpnshadowsocksshado...

output:

0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47...

result:

ok 100000 numbers

Test #35:

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

input:

gaaedccfegcdcfddffbeacgfeeebdbedbaccgffddafcdecagdbaecedfbacfcbfdccadcdffdedbabcddcddcdfaaggedcdebabgaefcdfbebbadbfddfbdgddccdafffgaefcdfbebeeaegfbaeecgcgfaeagefcbfdccadcaabbgafgeafcgegeaggabaecedfbacbaecedfbacebcafcfegbgaggdfedcccdcfddffbedafcdecagdbaecedfbacebbgabddbfggbcaagdffadacbgecccfdfeedagge...

output:

0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #36:

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

input:

fdcdbfgffcfeggecbdbbbadgcbcdffdafcefeaaecegeccdabecfgaafggaagcbadedfbecegeccdabeccbabafcdeeacbccefcfcfgaafggaaebdcbdfdcbbedbeafeegfccadebacbfccadebacbgfbdcaaadgfbbfdfedbbbbgecddbdafgdggfggfbbedebfbfagfeggecbdbbbadgcbcdffdgbaadcgedfdcdbfgffccfgfcafcabeabffbfbdbfccadebacbfccadebacbfbbfdfedbbdgebdfgcce...

output:

0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 2 3 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ...

result:

ok 100000 numbers

Test #37:

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

input:

addbabdbgabcbccebcfccbbafafeebcbbafafeebeadacgggbbbdcbfgdddcdfgeadebaeddcaaafbbcgbfegdgabdbcdabdcedgaebfagfgfebdgafgbbgbbacaccdgcdcfddccafafdcffbbffageebgfaccgddcffbbffaggebaageagddfgeadebaeeebggdgddgcccbceaeagbbfedccaeggdbdaaebccbddcgdbaabebefbaaffdgbfegdgabdgbadgdbdaffecdacdaeadfgeadebaebbfedccaeg...

output:

0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 ...

result:

ok 100000 numbers

Extra Test:

score: 0
Extra Test Passed