QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#298230#7894. Many Many Headsucup-team133#AC ✓177ms7124kbC++1719.5kb2024-01-05 20:54:302024-01-05 20:54:30

Judging History

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

  • [2024-01-05 20:54:30]
  • 评测
  • 测评结果:AC
  • 用时:177ms
  • 内存:7124kb
  • [2024-01-05 20:54:30]
  • 提交

answer

// -fsanitize=undefined,
// #define _GLIBCXX_DEBUG


#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")

#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <random>
#include <stdio.h>
#include <fstream>
#include <functional>
#include <cassert>
#include <unordered_map>
#include <bitset>
#include <chrono>


#include <utility>

namespace atcoder {

namespace internal {

// @param m `1 <= m`
// @return x mod m
constexpr long long safe_mod(long long x, long long m) {
    x %= m;
    if (x < 0) x += m;
    return x;
}

// Fast modular multiplication by barrett reduction
// Reference: https://en.wikipedia.org/wiki/Barrett_reduction
// NOTE: reconsider after Ice Lake
struct barrett {
    unsigned int _m;
    unsigned long long im;

    // @param m `1 <= m < 2^31`
    barrett(unsigned int m) : _m(m), im((unsigned long long)(-1) / m + 1) {}

    // @return m
    unsigned int umod() const { return _m; }

    // @param a `0 <= a < m`
    // @param b `0 <= b < m`
    // @return `a * b % m`
    unsigned int mul(unsigned int a, unsigned int b) const {
        // [1] m = 1
        // a = b = im = 0, so okay

        // [2] m >= 2
        // im = ceil(2^64 / m)
        // -> im * m = 2^64 + r (0 <= r < m)
        // let z = a*b = c*m + d (0 <= c, d < m)
        // a*b * im = (c*m + d) * im = c*(im*m) + d*im = c*2^64 + c*r + d*im
        // c*r + d*im < m * m + m * im < m * m + 2^64 + m <= 2^64 + m * (m + 1) < 2^64 * 2
        // ((ab * im) >> 64) == c or c + 1
        unsigned long long z = a;
        z *= b;
#ifdef _MSC_VER
        unsigned long long x;
        _umul128(z, im, &x);
#else
        unsigned long long x =
            (unsigned long long)(((unsigned __int128)(z)*im) >> 64);
#endif
        unsigned int v = (unsigned int)(z - x * _m);
        if (_m <= v) v += _m;
        return v;
    }
};

// @param n `0 <= n`
// @param m `1 <= m`
// @return `(x ** n) % m`
constexpr long long pow_mod_constexpr(long long x, long long n, int m) {
    if (m == 1) return 0;
    unsigned int _m = (unsigned int)(m);
    unsigned long long r = 1;
    unsigned long long y = safe_mod(x, m);
    while (n) {
        if (n & 1) r = (r * y) % _m;
        y = (y * y) % _m;
        n >>= 1;
    }
    return r;
}

// Reference:
// M. Forisek and J. Jancina,
// Fast Primality Testing for Integers That Fit into a Machine Word
// @param n `0 <= n`
constexpr bool is_prime_constexpr(int n) {
    if (n <= 1) return false;
    if (n == 2 || n == 7 || n == 61) return true;
    if (n % 2 == 0) return false;
    long long d = n - 1;
    while (d % 2 == 0) d /= 2;
    constexpr long long bases[3] = {2, 7, 61};
    for (long long a : bases) {
        long long t = d;
        long long y = pow_mod_constexpr(a, t, n);
        while (t != n - 1 && y != 1 && y != n - 1) {
            y = y * y % n;
            t <<= 1;
        }
        if (y != n - 1 && t % 2 == 0) {
            return false;
        }
    }
    return true;
}
template <int n> constexpr bool is_prime = is_prime_constexpr(n);

// @param b `1 <= b`
// @return pair(g, x) s.t. g = gcd(a, b), xa = g (mod b), 0 <= x < b/g
constexpr std::pair<long long, long long> inv_gcd(long long a, long long b) {
    a = safe_mod(a, b);
    if (a == 0) return {b, 0};

    // Contracts:
    // [1] s - m0 * a = 0 (mod b)
    // [2] t - m1 * a = 0 (mod b)
    // [3] s * |m1| + t * |m0| <= b
    long long s = b, t = a;
    long long m0 = 0, m1 = 1;

    while (t) {
        long long u = s / t;
        s -= t * u;
        m0 -= m1 * u;  // |m1 * u| <= |m1| * s <= b

        // [3]:
        // (s - t * u) * |m1| + t * |m0 - m1 * u|
        // <= s * |m1| - t * u * |m1| + t * (|m0| + |m1| * u)
        // = s * |m1| + t * |m0| <= b

        auto tmp = s;
        s = t;
        t = tmp;
        tmp = m0;
        m0 = m1;
        m1 = tmp;
    }
    // by [3]: |m0| <= b/g
    // by g != b: |m0| < b/g
    if (m0 < 0) m0 += b / s;
    return {s, m0};
}

// Compile time primitive root
// @param m must be prime
// @return primitive root (and minimum in now)
constexpr int primitive_root_constexpr(int m) {
    if (m == 2) return 1;
    if (m == 167772161) return 3;
    if (m == 469762049) return 3;
    if (m == 754974721) return 11;
    if (m == 998244353) return 3;
    int divs[20] = {};
    divs[0] = 2;
    int cnt = 1;
    int x = (m - 1) / 2;
    while (x % 2 == 0) x /= 2;
    for (int i = 3; (long long)(i)*i <= x; i += 2) {
        if (x % i == 0) {
            divs[cnt++] = i;
            while (x % i == 0) {
                x /= i;
            }
        }
    }
    if (x > 1) {
        divs[cnt++] = x;
    }
    for (int g = 2;; g++) {
        bool ok = true;
        for (int i = 0; i < cnt; i++) {
            if (pow_mod_constexpr(g, (m - 1) / divs[i], m) == 1) {
                ok = false;
                break;
            }
        }
        if (ok) return g;
    }
}
template <int m> constexpr int primitive_root = primitive_root_constexpr(m);

}  // namespace internal

}  // namespace atcoder


#include <cassert>
#include <numeric>
#include <type_traits>

namespace atcoder {

namespace internal {

#ifndef _MSC_VER
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 ||
                                                  is_signed_int128<T>::value ||
                                                  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;

#else

template <class T> using is_integral = typename std::is_integral<T>;

template <class T>
using is_signed_int =
    typename std::conditional<is_integral<T>::value && std::is_signed<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,
                              std::true_type,
                              std::false_type>::type;

template <class T>
using to_unsigned = typename std::conditional<is_signed_int<T>::value,
                                              std::make_unsigned<T>,
                                              std::common_type<T>>::type;

#endif

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 atcoder

#include <cassert>
#include <numeric>
#include <type_traits>

#ifdef _MSC_VER
#include <intrin.h>
#endif

namespace atcoder {

namespace internal {

struct modint_base {};
struct static_modint_base : modint_base {};

template <class T> using is_modint = std::is_base_of<modint_base, T>;
template <class T> using is_modint_t = std::enable_if_t<is_modint<T>::value>;

}  // namespace internal

template <int m, std::enable_if_t<(1 <= m)>* = nullptr>
struct static_modint : internal::static_modint_base {
    using mint = static_modint;

  public:
    static constexpr int mod() { return m; }
    static mint raw(int v) {
        mint x;
        x._v = v;
        return x;
    }

    static_modint() : _v(0) {}
    template <class T, internal::is_signed_int_t<T>* = nullptr>
    static_modint(T v) {
        long long x = (long long)(v % (long long)(umod()));
        if (x < 0) x += umod();
        _v = (unsigned int)(x);
    }
    template <class T, internal::is_unsigned_int_t<T>* = nullptr>
    static_modint(T v) {
        _v = (unsigned int)(v % umod());
    }
    static_modint(bool v) { _v = ((unsigned int)(v) % umod()); }

    unsigned int val() const { return _v; }

    mint& operator++() {
        _v++;
        if (_v == umod()) _v = 0;
        return *this;
    }
    mint& operator--() {
        if (_v == 0) _v = umod();
        _v--;
        return *this;
    }
    mint operator++(int) {
        mint result = *this;
        ++*this;
        return result;
    }
    mint operator--(int) {
        mint result = *this;
        --*this;
        return result;
    }

    mint& operator+=(const mint& rhs) {
        _v += rhs._v;
        if (_v >= umod()) _v -= umod();
        return *this;
    }
    mint& operator-=(const mint& rhs) {
        _v -= rhs._v;
        if (_v >= umod()) _v += umod();
        return *this;
    }
    mint& operator*=(const mint& rhs) {
        unsigned long long z = _v;
        z *= rhs._v;
        _v = (unsigned int)(z % umod());
        return *this;
    }
    mint& operator/=(const mint& rhs) { return *this = *this * rhs.inv(); }

    mint operator+() const { return *this; }
    mint operator-() const { return mint() - *this; }

    mint pow(long long n) const {
        assert(0 <= n);
        mint x = *this, r = 1;
        while (n) {
            if (n & 1) r *= x;
            x *= x;
            n >>= 1;
        }
        return r;
    }
    mint inv() const {
        if (prime) {
            assert(_v);
            return pow(umod() - 2);
        } else {
            auto eg = internal::inv_gcd(_v, m);
            assert(eg.first == 1);
            return eg.second;
        }
    }

    friend mint operator+(const mint& lhs, const mint& rhs) {
        return mint(lhs) += rhs;
    }
    friend mint operator-(const mint& lhs, const mint& rhs) {
        return mint(lhs) -= rhs;
    }
    friend mint operator*(const mint& lhs, const mint& rhs) {
        return mint(lhs) *= rhs;
    }
    friend mint operator/(const mint& lhs, const mint& rhs) {
        return mint(lhs) /= rhs;
    }
    friend bool operator==(const mint& lhs, const mint& rhs) {
        return lhs._v == rhs._v;
    }
    friend bool operator!=(const mint& lhs, const mint& rhs) {
        return lhs._v != rhs._v;
    }

  private:
    unsigned int _v;
    static constexpr unsigned int umod() { return m; }
    static constexpr bool prime = internal::is_prime<m>;
};

template <int id> struct dynamic_modint : internal::modint_base {
    using mint = dynamic_modint;

  public:
    static int mod() { return (int)(bt.umod()); }
    static void set_mod(int m) {
        assert(1 <= m);
        bt = internal::barrett(m);
    }
    static mint raw(int v) {
        mint x;
        x._v = v;
        return x;
    }

    dynamic_modint() : _v(0) {}
    template <class T, internal::is_signed_int_t<T>* = nullptr>
    dynamic_modint(T v) {
        long long x = (long long)(v % (long long)(mod()));
        if (x < 0) x += mod();
        _v = (unsigned int)(x);
    }
    template <class T, internal::is_unsigned_int_t<T>* = nullptr>
    dynamic_modint(T v) {
        _v = (unsigned int)(v % mod());
    }
    dynamic_modint(bool v) { _v = ((unsigned int)(v) % mod()); }

    unsigned int val() const { return _v; }

    mint& operator++() {
        _v++;
        if (_v == umod()) _v = 0;
        return *this;
    }
    mint& operator--() {
        if (_v == 0) _v = umod();
        _v--;
        return *this;
    }
    mint operator++(int) {
        mint result = *this;
        ++*this;
        return result;
    }
    mint operator--(int) {
        mint result = *this;
        --*this;
        return result;
    }

    mint& operator+=(const mint& rhs) {
        _v += rhs._v;
        if (_v >= umod()) _v -= umod();
        return *this;
    }
    mint& operator-=(const mint& rhs) {
        _v += mod() - rhs._v;
        if (_v >= umod()) _v -= umod();
        return *this;
    }
    mint& operator*=(const mint& rhs) {
        _v = bt.mul(_v, rhs._v);
        return *this;
    }
    mint& operator/=(const mint& rhs) { return *this = *this * rhs.inv(); }

    mint operator+() const { return *this; }
    mint operator-() const { return mint() - *this; }

    mint pow(long long n) const {
        assert(0 <= n);
        mint x = *this, r = 1;
        while (n) {
            if (n & 1) r *= x;
            x *= x;
            n >>= 1;
        }
        return r;
    }
    mint inv() const {
        auto eg = internal::inv_gcd(_v, mod());
        assert(eg.first == 1);
        return eg.second;
    }

    friend mint operator+(const mint& lhs, const mint& rhs) {
        return mint(lhs) += rhs;
    }
    friend mint operator-(const mint& lhs, const mint& rhs) {
        return mint(lhs) -= rhs;
    }
    friend mint operator*(const mint& lhs, const mint& rhs) {
        return mint(lhs) *= rhs;
    }
    friend mint operator/(const mint& lhs, const mint& rhs) {
        return mint(lhs) /= rhs;
    }
    friend bool operator==(const mint& lhs, const mint& rhs) {
        return lhs._v == rhs._v;
    }
    friend bool operator!=(const mint& lhs, const mint& rhs) {
        return lhs._v != rhs._v;
    }

  private:
    unsigned int _v;
    static internal::barrett bt;
    static unsigned int umod() { return bt.umod(); }
};
template <int id> internal::barrett dynamic_modint<id>::bt = 998244353;

using modint998244353 = static_modint<998244353>;
using modint1000000007 = static_modint<1000000007>;
using modint = dynamic_modint<-1>;

namespace internal {

template <class T>
using is_static_modint = std::is_base_of<internal::static_modint_base, T>;

template <class T>
using is_static_modint_t = std::enable_if_t<is_static_modint<T>::value>;

template <class> struct is_dynamic_modint : public std::false_type {};
template <int id>
struct is_dynamic_modint<dynamic_modint<id>> : public std::true_type {};

template <class T>
using is_dynamic_modint_t = std::enable_if_t<is_dynamic_modint<T>::value>;

}  // namespace internal

}  // namespace atcoder




using namespace std;
using namespace atcoder;

using mint = modint1000000007;



#define rep(i,n) for (int i=0;i<n;i+=1)
#define rrep(i,n) for (int i=n-1;i>-1;i--)
#define pb push_back
#define all(x) (x).begin(), (x).end()

#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << " )\n";

template<class T>
using vec = vector<T>;
template<class T>
using vvec = vec<vec<T>>;
template<class T>
using vvvec = vec<vvec<T>>;
using ll = long long;
using pii = pair<int,int>;
using pll = pair<ll,ll>;


template<class T>
bool chmin(T &a, T b){
  if (a>b){
    a = b;
    return true;
  }
  return false;
}

template<class T>
bool chmax(T &a, T b){
  if (a<b){
    a = b;
    return true;
  }
  return false;
}

template<class T>
T sum(vec<T> x){
  T res=0;
  for (auto e:x){
    res += e;
  }
  return res;
}

template<class T>
void printv(vec<T> x){
  for (auto e:x){
    cout<<e<<" ";
  }
  cout<<endl;
}



template<class T,class U>
ostream& operator<<(ostream& os, const pair<T,U>& A){
  os << "(" << A.first <<", " << A.second << ")";
  return os;
}

template<class T>
ostream& operator<<(ostream& os, const set<T>& S){
  os << "set{";
  for (auto a:S){
    os << a;
    auto it = S.find(a);
    it++;
    if (it!=S.end()){
      os << ", ";
    }
  }
  os << "}";
  return os;
}

template<class T>
ostream& operator<<(ostream& os, const vec<T>& A){
  os << "[";
  rep(i,A.size()){
    os << A[i];
    if (i!=A.size()-1){
      os << ", ";
    }
  }
  os << "]" ;
  return os;
}

int check_unique(vec<int> A){
  int n = A.size();
  assert ((n & 1) == 0);

  vec<int> f(n+1,0);
  rep(i,n){
    f[i+1] = f[i];
    if (A[i] == 0){
      f[i+1]--;
    }
    else{
      f[i+1]++;
    }
  }

  /*
  l < r に対して A[l],A[r]がペアになるには
  f[r+1]-f[l] == 0 が必要
  */

  vec<map<int,int>> val_to_r(2);

  vec<int> pair(n,-1);
  for (int l=n-1;0<=l;l--){
    if (!val_to_r[1^A[l]].count(f[l])){
      if (val_to_r[A[l]].count(f[l+1])){
        val_to_r[A[l]][f[l+1]] = -1;
      }
      else{
        val_to_r[A[l]][f[l+1]] = l;
      }
      continue;
    }
    if (val_to_r[1^A[l]][f[l]] == -1){
      return 0;
    }
    if (pair[l] == -1){
      pair[l] = val_to_r[1^A[l]][f[l]];
    }
    else if (pair[l] != val_to_r[1^A[l]][f[l]]){
      return 0;
    }
    {
      if (val_to_r[A[l]].count(f[l+1])){
        val_to_r[A[l]][f[l+1]] = -1;
      }
      else{
        val_to_r[A[l]][f[l+1]] = l;
      }
    }

  }

  vec<map<int,int>> val_to_l(2);
  rep(r,n){
    if (!val_to_l[1^A[r]].count(f[r+1])){
      if (val_to_l[A[r]].count(f[r])){
        val_to_l[A[r]][f[r]] = -1;
      }
      else{
        val_to_r[A[r]][f[r]] = r;
      }
      continue;
    }

    if (val_to_l[1^A[r]][f[r+1]] == -1){
      return 0;
    }
    if (pair[r] == -1){
      pair[r] = val_to_l[1^A[r]][f[r+1]];
    }
    else if (pair[r] != val_to_l[1^A[r]][f[r+1]]){
      return 0;
    }

    {
      if (val_to_l[A[r]].count(f[r])){
        val_to_l[A[r]][f[r]] = -1;
      }
      else{
        val_to_r[A[r]][f[r]] = r;
      }
      continue;
    }


  }

  return 1;

  


  
}

void solve(){

  string S;
  cin>>S;

  vector<vec<int>> idx(2);

  rep(i,S.size()){
    if (S[i] == '(' or S[i] == ')'){
      idx[0].push_back(i & 1);
    }
    else{
      idx[1].push_back(i & 1);
    }
  }

  if (check_unique(idx[0]) && check_unique(idx[1])){
    cout << "Yes" << "\n";
  }
  else{
    cout << "No" << "\n";
  }


  
}




int main(){
  ios::sync_with_stdio(false);
  std::cin.tie(nullptr);

  int T;
  cin>>T;
  while(T--){
    solve();
  }

  

    
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

6
))
((()
[()]
()[()]()
([()])
([])([])

output:

Yes
No
Yes
No
Yes
No

result:

ok 6 token(s): yes count is 3, no count is 3

Test #2:

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

input:

2
(([([[([
]]))])]])]

output:

Yes
No

result:

ok 2 token(s): yes count is 1, no count is 1

Test #3:

score: 0
Accepted
time: 10ms
memory: 3536kb

input:

15134
][
)(
)([[
[)([
)][)
]])(
([]([]
]]))][
[([](]
()[))]
][(]](
([()[)
()[]((
[)([)(
]]([[)]]
)[()])]]
))[](([]
](([((]]
))[)][)[
[)])([(]
[()[]))[
)][(]()]
[[((]()]
((]])[[)
])(](]])
)]]()[](
([)[])])
[[)[()](
([[)[[()
[[)([]))
[)[[)[()
))[(([)(
()][)[](]]
[()]([[([[
)[]))][)][
)]([]([(][
[])])(...

output:

Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
No
Yes
No
Yes
No
No
Yes
Yes
No
Yes
No
No
Yes
No
Yes
Yes
No
No
Yes
No
No
No
No
Yes
No
No
No
No
No
No
Yes
No
No
Yes
Yes
No
No
No
Yes
No
No
No
No
Yes
No
No
No
Yes
Yes
No
No
Yes
No
No
No
No
No
No
Yes
No
No
No
No
No
No
No
No
No
No
Yes
No
No
No
No
No
No
No
No...

result:

ok 15134 token(s): yes count is 132, no count is 15002

Test #4:

score: 0
Accepted
time: 38ms
memory: 3532kb

input:

100000
][[][[
())))(
)())))
]]][[[
)[]))(
()[[)(
)())))
[[[][]
[][][]
))[]]]
]]]][[
][]]][
(][)))
((([](
][[]]]
)([)([
))()((
[)[[)[
((()))
)(][[]
][[[[[
()((((
][][]]
][)()(
]]]]][
(()(()
)([((]
[][[]]
]][]][
)((())
][[[[[
[)[[([
(([[)(
(((())
)((()(
))()()
()((((
[[][][
))[])(
(((()(
]]][[]
()[[]]...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
No
Yes
No
No
No
No
No
No
No
No
Yes
No
No
No
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
Yes
No
No
No
Yes
No
No
Yes
No
No
No
No
No
No
No
No
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
No
No
No...

result:

ok 100000 token(s): yes count is 12468, no count is 87532

Test #5:

score: 0
Accepted
time: 40ms
memory: 3816kb

input:

100000
))()()()
][]][][[
[[]]]][]
()(()(((
]][[]]]]
][[[]]]]
[[][[][]
)((()(()
)()]]))(
]]][][[[
[))]]]))
(][(()))
]([[)]))
(())()((
[[]]]]]]
())(((((
))(((()(
]]]][]]]
[](][)))
((()()))
[[][[]][
((]))]))
[[]]]][]
))([((])
)([][[][
[][[[][]
[]][)][)
)()(())(
)((()()(
]]))((]]
)())(()(
[[[][[[]
(()([...

output:

No
No
No
No
No
No
No
No
No
No
No
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
No
No
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 100000 token(s): yes count is 3122, no count is 96878

Test #6:

score: 0
Accepted
time: 42ms
memory: 3544kb

input:

100000
(())((()()
))])((((([
[[((]()))[
]](][][[[(
[[][][]][]
()([[()))(
()))()))()
][[[[]][[]
]][[[][][[
[])((())))
][[[[]]][]
[][[[]]]]]
][]][[[][]
(])][][([(
())()())))
[]]][[[[][
]](][([])(
[][[[[[]]]
([)((([[](
)]()](][))
[]])[[([()
([()]([][[
]]][]][[]]
[)()(((()[
([]]][][])
()())(()((
[][]][[...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No...

result:

ok 100000 token(s): yes count is 1153, no count is 98847

Test #7:

score: 0
Accepted
time: 37ms
memory: 3544kb

input:

83333
][]]])(()((]
[[[])]]([))[
[][]]][[))]]
[(()[))[(]((
))((([[)))((
([)))]]]])[)
][][]][][[[[
]]][[((][[][
([[([[([][[(
[[))))(]))](
)[))()]()(][
[([[][[])[[]
]())([)[((])
()(())[[()((
]))(]](][][]
]()()[)(][[[
]][][[][[[((
(((()([))()[
)([]([])((]]
][]]]][]][[]
]))[]][]([[(
][[[]]]][]]]
()[)(())...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 83333 token(s): yes count is 248, no count is 83085

Test #8:

score: 0
Accepted
time: 33ms
memory: 3744kb

input:

71428
))][[[[]][]]][
[)][[][][](][]
[]))(((]])()((
]][[)]])])[]([
([]((([[[][[[[
[[)][))[[[]][)
][[[)[][[)]]][
([[))([(]])[((
])[[)[[]][][((
()))()(((()))(
[][[]][]()][[]
[(())((][))))[
)(()))))(())()
)()(()()))())(
))((((((()))()
)()())())))(((
[[[)]))])[[]][
)]]))([)([)(((
][][[[[[[[]]]]
[[[[[]]]]...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 71428 token(s): yes count is 71, no count is 71357

Test #9:

score: 0
Accepted
time: 33ms
memory: 3528kb

input:

62500
)]((][))()((()[)
][][][[[[][[]][[
)(())((((((()()(
(][([))[[()]]))]
)(()()))))()((()
][]](([[[][[]]))
((()())()]])[((]
(][(][]]]]]))[((
(())())()))((([[
(])(()()()]()([]
][))])()(()()]()
[[[([[)]][[]][][
][]][]]][[[][]]]
([(]]()))))(()[(
))()(()[)))[](])
()[]()())(((((()
()]()[)(]())([]]
(())]...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 62500 token(s): yes count is 14, no count is 62486

Test #10:

score: 0
Accepted
time: 32ms
memory: 3508kb

input:

55555
))(][([)[](([](]]]
](][[]]][][[(][[[]
((())())()(((()))(
)((((((())((()))]]
[[]]]][][]]]]][][[
]]]][][]]]](]()[)[
[][([]([[[[[)(]()[
)])(()()(())]())))
(())))()))(())()()
)][())(()])()([())
][]]][]]](]][]][)]
))(()(()[)(()[()()
]]]]]][[[[][[[]][]
)]())[[][)(())][[(
][)()]]([[](([)())
)](][([()...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 55555 token(s): yes count is 3, no count is 55552

Test #11:

score: 0
Accepted
time: 28ms
memory: 3504kb

input:

50000
[[[[[]]]((())][([][[
((()())())))()())))(
)([)(]()(](())))[(()
)(](][)))](()(((([[(
)((]((((]))([))[(())
))()()))())(([[))()(
()(()[)((((((((([)((
]]([[[[)([[]]([)][)[
[)()])([[)[[[[)])()]
](]])[][)][((][([]))
]][[[[]]]][][]]]][[]
()((()())([]())))()(
)]]][(][[[[][]]]][]]
)(]]]]][)))(]][]]]]]
...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 50000 token(s): yes count is 0, no count is 50000

Test #12:

score: 0
Accepted
time: 27ms
memory: 3540kb

input:

45454
))[))]((())())([))[]])
][[]]][)([)]([()]())[)
]][][]][][][]]]][[][[]
]][[]]]]][[[][[[[[[]][
(())())((())())(())))(
][[])[[)[[[]]]][][]][]
]][[]][[][[]][][]]]][[
[(]([()][))[)](([[[[(]
])[]][][([][]([][[[[(]
][[]][][[][]][][[]][[[
)))))(()()()))()))))()
(]()[))()(())][((())((
])([[)[][[[[()[[[[...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 45454 token(s): yes count is 0, no count is 45454

Test #13:

score: 0
Accepted
time: 25ms
memory: 3532kb

input:

41666
[)(()])()))(())))())((()
][][[][]]]]][[]][[])]])]
(()))])[[][)(())[()[])][
]][[][]]]][]][][]][][][]
[](](]]][[[][([[][[([[[]
])(][)[](][[])))]])))][]
[[][[[][][]]][[[[[[[[][]
]((())))))(())(([[())(([
())[)()(((())()(()()[)()
][[][]][]][[]]]]]]][][[[
]]][(][][[[[[[[[))[][]](
[(][[[](]])[]([]]]]...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 41666 token(s): yes count is 0, no count is 41666

Test #14:

score: 0
Accepted
time: 25ms
memory: 3528kb

input:

38461
]]]]]][[[][[[[[][[[[[[]]]]
)]))())([)((])))))[)(]()([
])())))[((([))()()()]))()(
(](()())())(])][((]((()))]
[[](][[][][[][([[[[[[][[[[
([)]([[]](()(][)(([)[]()](
[[]]]]]]]][[]][[][]][[[][[
[]](]))))[[)[]]))[([(((][]
)[[([((())((()())()((()((]
[]]][]]]][[][[[[[[[]]]][[[
[]][][[][]][)][[])[][[[]...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 38461 token(s): yes count is 0, no count is 38461

Test #15:

score: 0
Accepted
time: 23ms
memory: 3740kb

input:

35714
]]]])([]]][))][)()[[))(([[)]
]](]][[][[)[]()[][[)[[[(]]()
](]][[]]()(]][]]]][][])((([]
[())])([([(((([(]]([)(()([[(
[]][]][](()[[[]][][[][[][[[)
))))())(()()(()())(()))()()(
]](]())[]]][)]])[(][[]()[[[(
(][[[[[[]][[]][[[([][[)[]([[
))[))[[(())]())(]]((][](([))
[)]()[)((()](]())([])(])(()(
]]][...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 35714 token(s): yes count is 0, no count is 35714

Test #16:

score: 0
Accepted
time: 22ms
memory: 3544kb

input:

33333
[()(()()[)()[])(((([)]((()[)(]
)()()())(((((()))(((())()())((
]][][)(]()]]])]](]])([]]][](([
()(((()((((())((()(())))()())(
))))((((())[))[()((]()])(])(])
([[]][]]][][]][]][][])[][[]][]
[[][[][][][[][[]]]][]][][][[]]
)])[])[[()[]]]([))[[[)[[][])[[
[]]][[]]]])(][[][)(][[]][][[[]
]]]]][]([[[](][...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 33333 token(s): yes count is 0, no count is 33333

Test #17:

score: 0
Accepted
time: 21ms
memory: 3760kb

input:

31250
])[[[[[]](([][(]]][]))[]([]))][)
[][][()))[)][[[(](][))]((()])[][
](]([[[][)(]))[))]())[([]]]]]))]
)))(]((()()())())]))))))()))))((
())()))))[)))(()((())()))([((()(
()()(()))(((((((()))()))())())()
[[]][]]]]][[]]][][[][[[]]][[][[[
[[[]][][]]][]][][[]][]][]]][][[]
())(]()[()((](((([)(())()())()...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 31250 token(s): yes count is 0, no count is 31250

Test #18:

score: 0
Accepted
time: 21ms
memory: 3536kb

input:

29411
]]][[]][][])[](]][[[[[][)()[](])(]
]((]][][[[)[](([[[][[)(]]((([])]])
[[[][[[[[][[]][]][]]]][[][[[[]][]]
))([[[[([)([)())))])((]][]([()))()
(()))))())()))))(((()(((()()(()()(
[[[)(]][)(((]))])]([[][)()]]]]](][
))))][([)]]][)(]][])[[][[][((]]][(
[)()))(()[()())()((())([()))]())((
())([)())][(()...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 29411 token(s): yes count is 0, no count is 29411

Test #19:

score: 0
Accepted
time: 17ms
memory: 3600kb

input:

20833
))(()])))()[])())((([()(([))(([)(())(((]()))[)()
))()()()(((()())))(((()((((()(()(()(())()((((()(
((((()()(])())((()([((](()))()(((())(()))(]()(()
]])(]]))([(()))()(())())([(])(]()(()()())(((]([)
())(()))(())()))(()()())((((((()())()((())(()(()
]][[]][[[][[]]][]][]]]][[][[][]]]]][]][[][[[][[[
...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 20833 token(s): yes count is 0, no count is 20833

Test #20:

score: 0
Accepted
time: 15ms
memory: 3532kb

input:

16129
)()((())())(())))())(())(())))(()))())())))))((()()(()))(((())
[[))()([((())]]]()][[][()()[[)(](([))[]())(())])()((((())([))[
[[[[][]]]][][][][[[][[[][]]([[([]][[[)][(][[)][)])][)])]])[[[]
[]](][]([[][[[[([[[]][[[[][])([[[[)[]]][[]][[]][[[[[([[][()[)[
)(())((])))(()()]))()](())((((((((())())))...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 16129 token(s): yes count is 0, no count is 16129

Test #21:

score: 0
Accepted
time: 13ms
memory: 3572kb

input:

10000
]([][[[][[[][])[[]][]][][]]])[][[(][[[[]]]][]]]][]]][[[][[]][[][][][[][[][]][]][]][]]][[[][]][[[[[][
])][][([[()))[]]][)[[[][])(])]]]][[(()]([[(]][(]])[][))[][[([[][)[[[](][][[][)])(]]])][]]])](][)](][
()[((()()))()))()(((]))(()))()))((()()))((()())((][)(()()(((()()()()()([))()())(())(((([))()...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 10000 token(s): yes count is 0, no count is 10000

Test #22:

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

input:

199
(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[(([[...

output:

No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 199 token(s): yes count is 0, no count is 199

Test #23:

score: 0
Accepted
time: 177ms
memory: 7124kb

input:

199
[([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([(...

output:

Yes
Yes
Yes
No
No
No
Yes
No
Yes
Yes
No
Yes
No
Yes
Yes
Yes
No
No
No
No
No
Yes
Yes
No
Yes
No
No
No
No
No
No
No
No
Yes
Yes
No
No
Yes
Yes
No
Yes
Yes
Yes
No
No
No
Yes
No
No
Yes
Yes
No
Yes
Yes
No
Yes
No
No
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
No
No
Yes
Yes
No
Yes
Yes
No
Yes
No
No
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
...

result:

ok 199 token(s): yes count is 104, no count is 95

Extra Test:

score: 0
Extra Test Passed