func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 10 * 100 * 1000 + 10;   vector<int> vec[N];   int bit[N];   int n, c;   void addbit(int i, int p) {     for (i++; i <= c; i += (i & -i)) bit[i] += p;   }   int get(int i) {     int x = 0;     for (i++; i > 0; i -= (i & -i)) x += bit[i];     return x;   }   void add(int l, int r) {     addbit(l, 1);     addbit(r, -1);   }   int main() {     cin >> n >> c;     for (int i = 0; i < n; i++) {       int t;       cin >> t;       for (int j = 0; j < t; j++) {         int a;         cin >> a;         vec[i].push_back(a - 1);       }     }     for (int i = 0; i < n - 1; i++) {       int j = 0, k = 0;       while (j < (int)vec[i].size() && k < (int)vec[i + 1].size() &&              vec[i][j] == vec[i + 1][k])         j++, k++;       if (j == (int)vec[i].size())         add(0, c);       else if (k == (int)vec[i + 1].size()) {         cout <<  -1 n ;         return 0;       } else {         int a = vec[i][j], b = vec[i + 1][k];         int li = (c - a) % c, ri = (c - b) % c;         if (li < ri)           add(li, ri);         else           add(li, c), add(0, ri);       }     }     for (int i = 0; i < c; i++)       if (get(i) >= n - 1) {         cout << i << endl;         return 0;       }     cout << -1 << endl;     return 0;   }   