#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const ll mod = 1000000007; const ll INF = (ll)1000000007 * 1000000007; typedef pair P; #define rep(i,n) for(int i=0;i=0;i--) #define Rep(i,sta,n) for(int i=sta;i=sta;i--) typedef long double ld; const ld eps = 1e-8; const ld pi = acos(-1.0); typedef pair LP; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; templatebool chmax(T &a, const T &b) {if(abool chmin(T &a, const T &b) {if(b a; void solve(){ cin >> n;a.resize(n); rep(i,n) cin >> a[i]; vector f(n,false); vector ng={}; rep(i,n-2){ int ma=max(a[i],max(a[i+1],a[i+2])),mi=min(a[i],min(a[i+1],a[i+2])); if(a[i]!=a[i+1] && a[i]!=a[i+2] && a[i+1]!=a[i+2] && (a[i+1]==ma || a[i+1]==mi)) continue; f[i]=true;f[i+1]=true;f[i+2]=true; ng.push_back(i); //cout << i << " "; } //cout << "" << endl; if(ng.size()>6){ cout << "No" << endl; return; } vector c={};rep(i,n) if(f[i]) c.push_back(i); rep(s,n){ for(int t:c){ swap(a[s],a[t]); bool ok=true; rep(i,3){ if(s-i>=0 && s-i+2=0 && t-i+2> t; rep(i,t) solve(); }