func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T1, class T2>   ostream& operator<<(ostream& out, pair<T1, T2> p) {     out <<  (  << p.first <<  ,  << p.second <<  ) ;     return out;   }   template <class T1, class T2>   istream& operator>>(istream& in, pair<T1, T2>& p) {     in >> p.first >> p.second;     return in;   }   template <class T>   istream& operator>>(istream& in, vector<T>& v) {     for (T& x : v) in >> x;     return in;   }   template <class T>   ostream& operator<<(ostream& out, vector<vector<T>>& v) {     for (vector<T>& x : v) out << x <<   n ;     return out;   }   template <class T>   ostream& operator<<(ostream& out, vector<T>& v) {     for (T& x : v) out << x <<    ;     return out;   }   long long gcd(long long a, long long b) {     if (b > a) swap(a, b);     return (b ? gcd(b, a % b) : a);   }   using ll = long long;   using pii = pair<int, int>;   using pll = pair<long long, long long>;   using tiii = pair<pair<int, int>, int>;   using vi = vector<int>;   using vl = vector<long long>;   using vvi = vector<vector<int>>;   using vvl = vector<vector<long long>>;   const int h = 1000000007;   signed main() {     ios::sync_with_stdio(false);     cin.tie(nullptr);     cout.tie(nullptr);     cerr.setstate(ios::failbit);     int t;     cin >> t;     while (t--) {       int n;       cin >> n;       vi v(n);       cin >> v;       vi x{v[0]};       for (int i = (1); i < (n); i++) {         if (v[i] == x.back() + 1)           x.back()++;         else           x.push_back(v[i]);       }       int y = true;       for (int i = (1); i < (x.size()); i++)         if (x[i - 1] < x[i]) y = false;       cout << (y ?  Yes  :  No ) <<   n ;     }   }   