malteklaes/cpp-code-code_search_net-style huggingface dataset:
#include <bits/stdc++.h>   using namespace std;   const double eps(1e-8);   long long a[100];   long long f[100];   long long dp[100];   long long l, r;   long long calc(long long i) {     long long ret = 0;     for (long long j = (1); j <= (i - 1); ++j) {       if (i % j == 0) ret += f[j];     }     return ret;   }   long long solve(long long n) {     long long tmp = n;     long long top = 0;     while (tmp) {       a[++top] = tmp % 2;       tmp /= 2;     }     if (top == 1) return 0;     long long ret = 0;     for (long long i = (1); i <= (top - 1); ++i) ret += calc(i);     for (long long i = (1); i <= (top - 1); ++i)       if (top % i == 0) {         long long now = a[top];         dp[i] = 0;         for (long long j = (2); j <= (i); ++j) {           if (a[top - j + 1]) dp[i] += 1 << (i - j);           now = now * 2 + a[top - j + 1];         }         long long tmp = now;         for (long long j = (2); j <= (top / i); ++j) tmp = (tmp << i) + now;         if (tmp <= n) dp[i]++;         for (long long j = (1); j <= (i - 1); ++j)           if (i % j == 0) dp[i] -= dp[j];         ret += dp[i];       }     return ret;   }   void cal(long long n) {     f[1] = 1;     for (long long i = (2); i <= (n); ++i) {       f[i] = 1 << (i - 1);       for (long long j = (1); j <= (i - 1); ++j)         if (i % j == 0) f[i] -= f[j];     }   }   int main() {     cal(70);     scanf( %I64d %I64d , &l, &r);     printf( %I64d n , solve(r) - solve(l - 1));   }
#include <bits/stdc++.h>   static const int N = 1 << 17;   struct Fenwick {     int n;     int t[N * 4];     void set(int n) { this->n = n; }     void add(int x, int v) {       for (int i = x; i <= n; i += (i & -i)) t[i] += v;     }     void clear(int x) {       for (int i = x; i <= n; i += (i & -i)) t[i] = 0;     }     int query(int x) {       int ans = 0;       for (int i = x; i > 0; i -= (i & -i)) ans += t[i];       return ans;     }     int query(int l, int r) { return query(r) - query(l - 1); }   } fenwick;   int readInt() {     int x = 0, f = 1;     int c = getchar();     while (c <  0  || c >  9 ) {       if (c ==  - ) f = -1;       c = getchar();     }     while (c >=  0  && c <=  9 ) {       x = (x << 1) + (x << 3) + c -  0 ;       c = getchar();     }     return x * f;   }   struct node {     long long x, R, l, r, q;     bool operator<(node const& o) const { return R < o.R; }   } s[N];   bool cmp(const node& a, const node& b) { return a.q < b.q; }   long long ans;   int n, k, cc;   long long d[N * 4];   void merge(int l, int r) {     if (l == r) return;     int m = (l + r) >> 1;     merge(l, m);     merge(m + 1, r);     int st = m + 1, e = m;     for (int i = l; i <= m; ++i) {       while (e < r && s[e + 1].q <= s[i].q + k) {         ++e;         fenwick.add(s[e].x, +1);       }       while (st <= e && s[st].q < s[i].q - k) {         fenwick.add(s[st].x, -1);         ++st;       }       ans += fenwick.query(s[i].l, s[i].r);     }     for (int i = m + 1; i <= r; ++i) fenwick.clear(s[i].x);     std::inplace_merge(s + l, s + m + 1, s + r + 1, cmp);   }   int solve() {     n = readInt();     k = readInt();     cc = 0;     for (int i = 1; i <= n; ++i) {       s[i].x = readInt();       s[i].R = readInt();       s[i].q = readInt();       d[cc++] = s[i].x;       d[cc++] = s[i].x - s[i].R;       d[cc++] = s[i].x + s[i].R;     }     std::sort(d, d + cc);     cc = std::unique(d, d + cc) - d;     for (int i = 1; i <= n; ++i) {       s[i].l = std::lower_bound(d, d + cc, s[i].x - s[i].R) - d;       s[i].r = std::lower_bound(d, d + cc, s[i].x + s[i].R) - d;       s[i].x = std::lower_bound(d, d + cc, s[i].x) - d;       ++s[i].l;       ++s[i].r;       ++s[i].x;     }     std::sort(s + 1, s + n + 1);     fenwick.set(cc);     ans = 0;     merge(1, n);     printf( %lld n , ans);     return 0;   }   int main(int argc, char* argv[]) { solve(); }
#include <bits/stdc++.h>   using namespace std;   int N, P[3], a[3], b[3];   map<char, char> h;   int p[] = {666013, 100003, 544513};   int m[] = {123456, 555123, 100055};   string s, t;   int main() {     std::ios_base::sync_with_stdio(false);     h[ N ] =  S ;     h[ S ] =  N ;     h[ E ] =  W ;     h[ W ] =  E ;     cin >> N >> s >> t;     --N;     for (int i = 0; i < N; ++i) {       s[i] = h[s[i]];     }     P[0] = 1;     P[1] = 1;     P[2] = 1;     for (int i = N - 1; i >= 0; --i) {       bool ok = 1;       for (int j = 0; j < 3; ++j) {         a[j] = (1LL * p[j] * a[j] + s[i]) % m[j];         b[j] = (1LL * P[j] * t[i] + b[j]) % m[j];         if (a[j] != b[j]) ok = 0;         P[j] = (1LL * P[j] * p[j]) % m[j];       }       if (ok) {         cout <<  NO ;         return 0;       }     }     cout <<  YES ;     return 0;   }
#include <bits/stdc++.h>   using namespace std;   long long n, q;   long long a[755], mx[755];   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     cin >> n >> q;     for (long long i = 1; i <= n; i++) cin >> a[i];     for (long long i = 0; i <= n; i++) {       long long l = 0, r = 1000000000000000, ans = 0;       while (l <= r) {         long long m = (l + r + 1) / 2;         long long sum = m, cnt = 0;         priority_queue<long long, vector<long long>, greater<long long>> pq;         for (long long j = 1; j <= n; j++) {           sum += a[j];           pq.push(a[j]);           while (sum < 0 && (long long)pq.size()) {             sum -= pq.top();             pq.pop();             cnt++;           }         }         if (cnt <= i) {           ans = m;           r = m - 1;         } else           l = m + 1;       }       mx[i] = ans;     }     while (q--) {       long long r;       cin >> r;       for (long long i = 0; i <= n; i++)         if (r >= mx[i]) {           cout << i <<   n ;           break;         }     }   }
#include <bits/stdc++.h>   using namespace std;   int root[1000005], weight[1000005];   vector<int> vec[26];   int findroot(int x) {     while (x != root[x]) {       root[x] = root[root[x]];       x = root[x];     }     return x;   }   void merge(int x, int y) {     x = findroot(x);     y = findroot(y);     if (x == y) return;     if (weight[x] > weight[y])       weight[x] += weight[y], root[y] = x;     else       weight[y] += weight[x], root[x] = y;   }   int main() {     int n, i, j, ans = 0;     cin >> n;     string s;     for (i = 0; i < n; i++) {       root[i] = i;       weight[i] = 1;     }     for (i = 0; i < n; i++) {       cin >> s;       for (char c : s) vec[c -  a ].push_back(i);     }     for (i = 0; i < 26; i++) {       for (j = 1; j < vec[i].size(); j++) merge(vec[i][j - 1], vec[i][j]);     }     for (i = 0; i < n; i++)       if (root[i] == i) ans++;     cout << ans;   }
#include <bits/stdc++.h>   using namespace std;   bool done[333333];   int main(int argc, char *argv[]) {     int N;     scanf( %d , &N);     int pt = N;     printf( 1 );     for (int i = 0; i < (N); i++) {       int a;       scanf( %d , &a);       done[a] = true;       while (done[pt]) pt--;       printf(  %d , (i + 2) - (N - pt));     }     printf(  n );     return 0;   }
#include <bits/stdc++.h>   using namespace std;   long long int fast_expo(long long int x, long long int p) {     if (p == 0)       return 1;     else if (p % 2 == 0) {       long long int t = fast_expo(x, p / 2) % 998244353;       return (t * t) % 998244353;     } else       return (x * (fast_expo(x, p - 1)) % 998244353) % 998244353;   }   int main() {     string s;     cin >> s;     int n = s.size();     int flag = 0;     for (int i = 0; i < n; i++) {       int r = i + 25;       if (r < n) {         set<char> st;         int q = 0;         for (int j = i; j <= r; j++) {           if (s[j] ==  ? )             q++;           else             st.insert(s[j]);         }         int sz = 26 - st.size();         if (q == sz) {           set<char> st2;           for (int j = 0; j < 26; j++) {             char ch = j +  A ;             if (st.find(ch) == st.end()) st2.insert(ch);           }           auto it = st2.begin();           for (int j = i; j <= r; j++) {             if (s[j] ==  ? ) {               char ch = *it;               s[j] = ch;               it++;             }           }           flag = 1;         }       }       if (flag) break;     }     char ch =  A ;     for (int i = 0; i < n; i++) {       if (s[i] ==  ? ) s[i] = ch;     }     if (flag)       cout << s << endl;     else       cout << -1 << endl;   }
#include <bits/stdc++.h>   using namespace std;   long long int max(long long int a, long long int b) {     if (a > b)       return a;     else       return b;   }   void solve() {     vector<pair<int, int> > points;     vector<int> xval, yval;     for (int i = 0; i < 3; i++) {       int x, y;       cin >> x >> y;       points.push_back({x, y});       xval.push_back(x);       yval.push_back(y);     }     sort(xval.begin(), xval.end());     sort(yval.begin(), yval.end());     pair<int, int> med = {xval[1], yval[1]};     set<pair<int, int> > ans;     for (int i = 0; i < 3; i++) {       int x = points[i].first;       int y = points[i].second;       ans.insert({x, y});       if (x >= med.first) {         while (x != med.first) {           ans.insert({--x, y});         }       } else {         while (x != med.first) {           ans.insert({++x, y});         }       }       if (y >= med.second) {         while (y != med.second) {           ans.insert({x, --y});         }       } else {         while (y != med.second) {           ans.insert({x, ++y});         }       }     }     cout << ans.size() << endl;     for (auto c : ans) {       cout << c.first <<     << c.second << endl;     }   }   int main() { solve(); }
#include <bits/stdc++.h>   using namespace std;   int main() {     int n;     cin >> n;     long long int A[n];     for (int i = 0; i < n; i++) {       cin >> A[i];     }     sort(A, A + n);     long long ans = 0;     for (int i = 0; i < n / 2; i++) {       ans += (A[i] + A[n - i - 1]) * (A[i] + A[n - 1 - i]);     }     cout << ans;     return 0;   }
#include <bits/stdc++.h>   using namespace std;   const int N = 1e5 + 5;   int n, root;   vector<int> adj[N];   bool ok;   int dfs(int v, int p = -1) {     int ret = 0;     int cnt = 2;     if (v == root) cnt++;     for (int u : adj[v]) {       if (u == p) continue;       int res = dfs(u, v);       if (res) ret = 2;       if (res == 2) cnt--;     }     if (cnt <= 0) {       ok = false;     }     if (adj[v].size() == 3) ret = max(1, ret);     if (adj[v].size() > 3) ret = 2;     return ret;   }   int main() {     scanf( %d , &n);     for (int i = 1; i < n; i++) {       int a, b;       scanf( %d%d , &a, &b);       a--;       b--;       adj[a].push_back(b);       adj[b].push_back(a);     }     ok = true;     root = 0;     for (int i = 0; i < n; i++)       if (adj[root].size() < adj[i].size()) root = i;     dfs(root);     if (!ok && adj[root].size() == 3) {       ok = true;       for (int u : adj[root]) {         if (adj[u].size() == 3) {           root = u;           break;         }       }       dfs(root);     }     if (ok)       puts( Yes );     else       puts( No );     return 0;   }
#include <bits/stdc++.h>   using namespace std;   const int MAXN = 1e6 + 10;   const int mod = 1e9 + 7;   const int P = 257;   int H[MAXN];   char s[MAXN];   char t[MAXN];   int iP[MAXN];   int add(int a, int b) { return (a + b) % mod; }   int mul(long long a, long long b) { return (a * b) % mod; }   int range(int l, int r) {     if (l == 0) return H[r];     return mul(add(H[r], mod - H[l - 1]), iP[l]);   }   int n, m;   bool check(int x, int y) {     int pos = 0;     int hx = -1, hy = -1;     for (int i = 0; i < n; ++i) {       if (s[i] ==  1 ) {         if (hx == -1)           hx = range(pos, pos + x - 1);         else if (hx != range(pos, pos + x - 1))           return 0;         pos += x;       } else {         if (hy == -1)           hy = range(pos, pos + y - 1);         else if (hy != range(pos, pos + y - 1))           return 0;         pos += y;       }     }     if (x == y) return hx != hy;     return 1;   }   int ex(int a, int b) {     int r = 1;     while (b > 0) {       if (b & 1) r = mul(r, a);       a = mul(a, a);       b >>= 1;     }     return r;   }   int main() {     scanf( %s , s);     scanf( %s , t);     n = strlen(s);     m = strlen(t);     int c1 = 0, c0 = 0;     for (int i = 0; i < n; ++i) {       if (s[i] ==  0 )         c0 += 1;       else         c1 += 1;     }     int h = 0;     int ip = ex(P, mod - 2);     int p = 1;     for (int i = 0; i < m; ++i) {       h = add(h, mul(t[i], p));       p = mul(p, P);       H[i] = h;     }     iP[0] = 1;     for (int i = 1; i < m; ++i) {       iP[i] = mul(iP[i - 1], ip);     }     int ans = 0;     for (int x = 1; x * c1 < m; ++x) {       if ((m - c1 * x) % c0 == 0) {         int y = (m - c1 * x) / c0;         ans += check(x, y);       }     }     printf( %d n , ans);     return 0;   }
#include <bits/stdc++.h>   using namespace std;   int a, ta, b, tb, x, y, sum, A, AA, B, BB;   char ch;   int main() {     ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);     ;     cin >> a >> ta >> b >> tb >> x >> ch >> y;     A = 60 * x + y;     AA = A + ta;     for (int i = 5 * 60; i <= 1439; i += b) {       B = i;       BB = B + tb;       int maxx = max(A, B);       int mini = min(AA, BB);       if (maxx < mini) sum++;     }     cout << sum << endl;     return 0;   }
#include <bits/stdc++.h>   using namespace std;   int n, i;   vector<string> pos;   string s;   set<vector<string> > st;   set<vector<string> >::iterator iter;   bool srch(vector<string> pos) {     if (pos.size() == 1) return true;     iter = st.find(pos);     if (iter != st.end()) return false;     int x = pos.size() - 1;     if (pos.size() >= 4) {       if (pos[x][0] == pos[x - 3][0] || pos[x][1] == pos[x - 3][1]) {         vector<string> nv = pos;         nv[x - 3] = nv[x];         nv.pop_back();         if (srch(nv)) return true;         st.insert(nv);       }     }     if (pos[x][0] == pos[x - 1][0] || pos[x][1] == pos[x - 1][1]) {       vector<string> nv = pos;       nv[x - 1] = nv[x];       nv.pop_back();       if (srch(nv)) return true;       st.insert(nv);     }     return false;   }   int main() {     cin >> n;     for (i = 0; i < n; i++) {       cin >> s;       pos.push_back(s);     }     if (srch(pos))       cout <<  YES  << endl;     else       cout <<  NO  << endl;     return 0;   }
#include <bits/stdc++.h>   using namespace std;   struct block {     int x, y;     inline bool operator<(const block &cpr) const {       if (x != cpr.x) return x < cpr.x;       return y < cpr.y;     }     inline bool operator==(const block &cpr) const {       return ((x == cpr.x) && (y == cpr.y));     }   };   struct nblock {     int x, y, id;     inline bool operator<(const nblock &cpr) const {       if (y != cpr.y) return y < cpr.y;       return x < cpr.x;     }   };   block bl[100005];   nblock nbl[100005];   int vis[100005];   int n, m;   queue<int> pq;   int mov[8][2]{       1, 1, 1, 0, 1, -1, 0, -1, 0, 1, -1, 1, -1, 0, -1, -1,   };   int main() {     scanf( %d , &n);     scanf( %d , &m);     for (int i = 1; i <= m; i++) scanf( %d%d , &bl[i].x, &bl[i].y);     sort(bl + 1, bl + 1 + m);     for (int i = 1; i <= m; i++) {       nbl[i].x = bl[i].x;       nbl[i].y = bl[i].y;       nbl[i].id = i;     }     sort(nbl + 1, nbl + 1 + m);     for (int i = 1; i <= m; i++)       if (bl[i].x == n || bl[i].y == 1) {         vis[i] = 1;         pq.push(i);       }     while (pq.size()) {       block cur;       int cid;       cid = pq.front();       cur = bl[cid];       pq.pop();       if (cur.x > 1) {         block nw;         nw = cur;         nw.x--;         int top, bot, tr;         top = m;         bot = 1;         while (top > bot) {           tr = (top + bot + 1) / 2;           if (bl[tr] < nw)             bot = tr;           else             top = tr - 1;         }         if (bl[top].x == nw.x)           if (bl[top].y < nw.y)             if (vis[top] == 0) {               vis[top] = 1;               pq.push(top);             }       }       if (cur.y < n) {         nblock nw;         nw.x = cur.x;         nw.y = cur.y + 1;         int top, bot, tr;         top = m;         bot = 1;         while (top > bot) {           tr = (top + bot) / 2;           if (nw < nbl[tr])             top = tr;           else             bot = tr + 1;         }         if (nbl[top].y == nw.y)           if (nbl[top].x > nw.x)             if (vis[nbl[top].id] == 0) {               vis[nbl[top].id] = 1;               pq.push(nbl[top].id);             }       }       for (int dr = 0; dr < 8; dr++) {         block nw;         nw = cur;         nw.x += mov[dr][0];         nw.y += mov[dr][1];         int top, bot, tr;         top = m;         bot = 1;         while (top > bot) {           tr = (top + bot + 1) / 2;           if (nw < bl[tr])             top = tr - 1;           else             bot = tr;         }         if (nw == bl[top])           if (vis[top] == 0) {             vis[top] = 1;             pq.push(top);           }       }     }     for (int i = 1; i <= m; i++)       if (vis[i] == 1)         if (bl[i].x == 1 || bl[i].y == n) {           printf( -1 n );           return 0;         }     printf( %d n , 2 * (n - 1));   }
#include <bits/stdc++.h>   using namespace std;   const int MAXn = 100;   int adj[MAXn + 5][MAXn + 5];   int main() {     int n;     cin >> n;     for (int i = 0; i < n; i++) {       int u, v, c;       cin >> u >> v >> c;       u--;       v--;       adj[u][v] = c;       adj[v][u] = -1 * c;     }     bool dir = 0;     int sum[2] = {0, 0}, u = -1, v = 0;     for (int i = 0; i < n; i++)       if (adj[v][i] > 0) dir = 1;     for (int i = 0; i < n; i++) {       for (int j = 0; j < n; j++)         if (adj[v][j] != 0 && j != u) {           if (dir) {             if (adj[v][j] > 0)               sum[dir] += adj[v][j];             else {               sum[!dir] += -1 * adj[v][j];               dir = !dir;             }           } else {             if (adj[v][j] > 0) {               sum[!dir] += adj[v][j];               dir = !dir;             } else               sum[dir] += -1 * adj[v][j];           }           u = v;           v = j;           break;         }     }     cout << min(sum[0], sum[1]) << endl;     return 0;   }
#include <bits/stdc++.h>   using namespace std;   class trio {    public:     long long first, second, third;   };   const long long MOD = 163577857;   long long gcdExtended(long long a, long long b, long long *x, long long *y) {     if (a == 0) {       *x = 0, *y = 1;       return b;     }     long long x1, y1;     long long gcd = gcdExtended(b % a, a, &x1, &y1);     *x = y1 - (b / a) * x1;     *y = x1;     return gcd;   }   long long modInverse(long long a, long long m) {     long long x, y;     long long g = gcdExtended(a, m, &x, &y);     long long res = (x % m + m) % m;     return res;   }   long long power(long long x, long long y) {     long long ans = 1, second = x;     while (y) {       if (y & 1) {         ans *= second;         ans %= MOD;       }       second *= second;       second %= MOD;       y >>= 1;     }     return ans;   }   bool comp(trio &a, trio &b) { return a.first < b.first; }   vector<long long> a;   long long m, n, k, third;   vector<trio> trap;   bool func(long long mid) {     if (mid == m + 1) return 0;     if (mid <= 0) return 1;     long long val = a[mid - 1];     long long ans = 0;     long long j = 1, i = 0, tr = 0;     while (i <= n) {       bool fl = 0;       while (tr < k && trap[tr].first <= j) {         if (trap[tr].third <= val) {           tr++;           continue;         }         j = max(trap[tr].second, j);         fl = 1;         tr++;       }       if (!fl)         ans += 1;       else {         ans += (j - i) * 3;       }       i = j;       j++;     }     return ans <= third;   }   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     ;     cin >> m >> n >> k >> third;     a.resize(m);     trap.resize(k);     for (long long i = 0; i < m; ++i) {       cin >> a[i];     }     for (long long i = 0; i < k; ++i) {       cin >> trap[i].first >> trap[i].second >> trap[i].third;     }     sort(a.begin(), a.end(), greater<long long>());     sort(trap.begin(), trap.end(), comp);     long long l = 0, h = m, mid;     while (l <= h) {       mid = (l + h) / 2;       bool t1 = func(mid);       bool t2 = func(mid + 1);       if (t1 && !t2) break;       if (t1)         l = mid + 1;       else         h = mid - 1;     }     cout << mid;     return 0;   }
#include <bits/stdc++.h>   using namespace std;   int main() {     int numRows, numCols;     scanf( %d %d n , &numRows, &numCols);     bool *rowArray = new bool[numRows];     for (int k = 0; k < numRows; k++) {       rowArray[k] = 1;     }     bool *colArray = new bool[numCols];     for (int k = 0; k < numCols; k++) {       colArray[k] = 1;     }     char temp;     for (int row = 0; row < numRows; row++) {       for (int col = 0; col < numCols; col++) {         scanf( %c , &temp);         if (temp ==  S ) {           rowArray[row] = 0;           colArray[col] = 0;         }       }       scanf(  n );     }     int freeRows(0), freeCols(0);     for (int k = 0; k < numRows; k++) {       if (rowArray[k]) {         ++freeRows;       }     }     for (int k = 0; k < numCols; k++) {       if (colArray[k]) {         ++freeCols;       }     }     printf( %d n , freeRows * numCols + freeCols * numRows - freeRows * freeCols);     return 0;   }
#include <bits/stdc++.h>   using namespace std;   long long lol(long long a, long long b) { return a / b; }   int main() {     int n, a[300009];     cin >> n;     while (n--) {       long long s, a, b, c;       cin >> s >> a >> b >> c;       long long nani = s / c;       long long nande = nani / a;       long long kirito = nande * (a + b);       long long asuna = kirito + nani % a;       cout << asuna << endl;     }   }
#include <bits/stdc++.h>   using namespace std;   vector<vector<int> > v;   vector<bool> vis;   string ans =   ;   void dfs(int temp) {     ans += temp +  a ;     for (auto it = v[temp].begin(); it != v[temp].end(); ++it) {       if (!vis[*it]) {         vis[*it] = true;         dfs(*it);       }     }   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(nullptr);     int t;     cin >> t;     while (t--) {       string s;       cin >> s;       v.resize(26);       vis.resize(26);       set<pair<char, char> > sc;       for (int i = 0; i < s.size() - 1; i += 1) {         pair<int, int> cc = {min(s[i], s[i + 1]), max(s[i], s[i + 1])};         if (sc.find(cc) == sc.end()) {           sc.insert(cc);           v[s[i] -  a ].emplace_back(s[i + 1] -  a );           v[s[i + 1] -  a ].emplace_back(s[i] -  a );         }       }       int cnt = 0, temp = 0;       for (int i = 0; i < 26; i += 1) {         if (v[i].size() == 1) {           temp = i;           cnt++;         } else if (v[i].size() > 2) {           cnt = -1;           break;         }       }       if (cnt != 2 && s.size() != 1)         cout <<  NO n ;       else {         cout <<  YES n ;         vis[temp] = true;         dfs(temp);         for (int i = 0; i < 26; i += 1) {           if (!vis[i]) ans += i +  a ;         }         cout << ans <<   n ;       }       ans =   ;       vis.clear();       for (int i = 0; i < 26; i += 1) v[i].clear();       v.clear();     }   }