#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
typedef pair<int, int> pii;
const int UP = 1, DOWN = 0;
const int INF = 1 << 30;
int N, M;
vector<int> inv(vector<int> &a) {
int sz = a.size();
vector<int> ret(sz);
for(int i=0; i<sz; i++) ret[i] = sz - a[i] + 1;
return ret;
}
int calcrun(vector<int> &a) {
int n = a.size();
if(n == 1) return 1;
else {
int ret = 1;
bool prev = (a[0] < a[1]);
for(int i=2; i<n; i++) {
ret += (prev != (a[i-1] < a[i]));
prev = (a[i-1] < a[i]);
}
return ret;
}
}
vector<int> getLis(vector<int> &p) {
int n = p.size();
vector<int> temp(n, INF);
for(int i=0; i<n; i++) {
int idx = lower_bound(temp.begin(), temp.end(), p[i]) - temp.begin();
temp[ idx ] = p[i];
}
return temp;
}
int getLisSize(vector<int> p) {
return lower_bound(p.begin(), p.end(), INF) - p.begin();
}
vector<pii> makevec(vector<int> &a, int r, bool needsort = false) {
int n = a.size();
vector<pii> ret;
ret.push_back(pii(a[0], r));
for(int i=1; i<n-1; i++) {
if((a[i-1] < a[i]) != (a[i] < a[i+1])) {
r++;
ret.push_back(pii(a[i], -r));
}
else ret.push_back(pii(a[i], r));
}
ret.push_back(pii(a[n-1], r));
if(needsort) sort(ret.begin(), ret.end(), greater<pii>());
return ret;
}
// pattern, q
bool checkvecTwo(vector<pii> &a, vector<pii> &b, int mode) {
int n = a.size(), m = b.size();
int arr[] = {3, 2}, val = arr[mode];
vector<int> s, t, x, y;
for(int i=0; i<n; i++) {
if(abs(a[i].second) < val) s.push_back(a[i].first);
else if(a[i].second != -val) x.push_back(n - a[i].first + 1);
}
for(int i=0; i<m; i++) {
if(abs(b[i].second) < val) t.push_back(b[i].first);
else if(b[i].second != -val) y.push_back(m - b[i].first + 1);
}
int ns = getLisSize( getLis(s) );
int nt = getLisSize( getLis(t) );
int nx = getLisSize( getLis(x) );
int ny = getLisSize( getLis(y) );
return nt >= ns && ny >= nx;
}
// pattern, q
bool checkvecThree(vector<pii> &a, vector<pii> &b) {
int n = a.size(), m = b.size(), cur = 0;
vector<int> vp, vq;
for(int i=0; i<n; i++) {
vp.push_back(a[i].first);
int type = a[i].second;
while(1) {
bool ok = false;
if(b[cur].second == type) ok = true;
if(type < 0 && b[cur].second > 0) {
int t = type * (-1);
if(b[cur].second == t || b[cur].second == t-1) ok = true;
}
if(b[cur].second < 0 && type > 0) {
int t = b[cur].second * (-1);
if(type == t || type == t-1) ok = true;
}
if(ok) {
vq.push_back(b[cur].first);
cur++; break;
}
if(++cur >= m) return false;
}
}
return true;
}
bool solve_1(vector<int> &p, vector<int> &q) {
int n = getLisSize( getLis(p) );
int m = getLisSize( getLis(q) );
return m >= n;
}
bool solve_2(vector<int> &p, vector<int> &q) {
vector<pii> vp, vq;
if(q[0] > q[1]) {
vp = makevec(p, 2), vq = makevec(q, 1);
return checkvecTwo(vp, vq, 0);
}
else {
vp = makevec(p, 1), vq = makevec(q, 1);
return checkvecTwo(vp, vq, 1);
}
}
bool solve_3(vector<int> &p, vector<int> &q) {
if(q[0] > q[1]) return false;
vector<pii> vp, vq;
vp = makevec(p, 1, true); vq = makevec(q, 1, true);
return checkvecThree(vp, vq);
}
int main() {
cin >> N;
vector<int> q(N);
for(int i=0; i<N; i++) scanf("%d", &q[i]);
cin >> M;
vector<int> pat(M);
for(int i=0; i<M; i++) scanf("%d", &pat[i]);
if(M > 1 && pat[0] > pat[1]) {
q = inv(q );
pat = inv(pat);
}
int RUN = calcrun(pat);
if (RUN == 1) cout << (solve_1(pat, q) ? "Yes" : "No") << endl;
else if (RUN == 2) cout << (solve_2(pat, q) ? "Yes" : "No") << endl;
else if (RUN == 3) cout << (solve_3(pat, q) ? "Yes" : "No") << endl;
else cout << "No" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IHBpaTsKY29uc3QgaW50IFVQID0gMSwgRE9XTiA9IDA7CmNvbnN0IGludCBJTkYgPSAxIDw8IDMwOwppbnQgTiwgTTsKCnZlY3RvcjxpbnQ+IGludih2ZWN0b3I8aW50PiAmYSkgewogICAgaW50IHN6ID0gYS5zaXplKCk7CiAgICB2ZWN0b3I8aW50PiByZXQoc3opOwogICAgZm9yKGludCBpPTA7IGk8c3o7IGkrKykgcmV0W2ldID0gc3ogLSBhW2ldICsgMTsKICAgIHJldHVybiByZXQ7Cn0KCmludCBjYWxjcnVuKHZlY3RvcjxpbnQ+ICZhKSB7CiAgICBpbnQgbiA9IGEuc2l6ZSgpOwogICAgaWYobiA9PSAxKSByZXR1cm4gMTsKICAgIGVsc2UgewogICAgICAgIGludCByZXQgPSAxOwogICAgICAgIGJvb2wgcHJldiA9IChhWzBdIDwgYVsxXSk7CiAgICAgICAgZm9yKGludCBpPTI7IGk8bjsgaSsrKSB7CiAgICAgICAgICAgIHJldCArPSAocHJldiAhPSAoYVtpLTFdIDwgYVtpXSkpOwogICAgICAgICAgICBwcmV2ID0gKGFbaS0xXSA8IGFbaV0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmV0OwogICAgfQp9Cgp2ZWN0b3I8aW50PiBnZXRMaXModmVjdG9yPGludD4gJnApIHsKICAgIGludCBuID0gcC5zaXplKCk7CiAgICB2ZWN0b3I8aW50PiB0ZW1wKG4sIElORik7CiAgICBmb3IoaW50IGk9MDsgaTxuOyBpKyspIHsKICAgICAgICBpbnQgaWR4ID0gbG93ZXJfYm91bmQodGVtcC5iZWdpbigpLCB0ZW1wLmVuZCgpLCBwW2ldKSAtIHRlbXAuYmVnaW4oKTsKICAgICAgICB0ZW1wWyBpZHggXSA9IHBbaV07CiAgICB9CiAgICByZXR1cm4gdGVtcDsKfQoKaW50IGdldExpc1NpemUodmVjdG9yPGludD4gcCkgewogICAgcmV0dXJuIGxvd2VyX2JvdW5kKHAuYmVnaW4oKSwgcC5lbmQoKSwgSU5GKSAtIHAuYmVnaW4oKTsKfQoKdmVjdG9yPHBpaT4gbWFrZXZlYyh2ZWN0b3I8aW50PiAmYSwgaW50IHIsIGJvb2wgbmVlZHNvcnQgPSBmYWxzZSkgewogICAgaW50IG4gPSBhLnNpemUoKTsKICAgIHZlY3RvcjxwaWk+IHJldDsKICAgIHJldC5wdXNoX2JhY2socGlpKGFbMF0sIHIpKTsKICAgIGZvcihpbnQgaT0xOyBpPG4tMTsgaSsrKSB7CiAgICAgICAgaWYoKGFbaS0xXSA8IGFbaV0pICE9IChhW2ldIDwgYVtpKzFdKSkgewogICAgICAgICAgICByKys7CiAgICAgICAgICAgIHJldC5wdXNoX2JhY2socGlpKGFbaV0sIC1yKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgcmV0LnB1c2hfYmFjayhwaWkoYVtpXSwgcikpOwogICAgfQogICAgcmV0LnB1c2hfYmFjayhwaWkoYVtuLTFdLCByKSk7CiAgICBpZihuZWVkc29ydCkgc29ydChyZXQuYmVnaW4oKSwgcmV0LmVuZCgpLCBncmVhdGVyPHBpaT4oKSk7CiAgICByZXR1cm4gcmV0Owp9CgovLyBwYXR0ZXJuLCBxCmJvb2wgY2hlY2t2ZWNUd28odmVjdG9yPHBpaT4gJmEsIHZlY3RvcjxwaWk+ICZiLCBpbnQgbW9kZSkgewogICAgaW50IG4gPSBhLnNpemUoKSwgbSA9IGIuc2l6ZSgpOwogICAgaW50IGFycltdID0gezMsIDJ9LCB2YWwgPSBhcnJbbW9kZV07CiAgICB2ZWN0b3I8aW50PiBzLCB0LCB4LCB5OwogICAgZm9yKGludCBpPTA7IGk8bjsgaSsrKSB7CiAgICAgICAgaWYoYWJzKGFbaV0uc2Vjb25kKSA8IHZhbCkgcy5wdXNoX2JhY2soYVtpXS5maXJzdCk7CiAgICAgICAgZWxzZSBpZihhW2ldLnNlY29uZCAhPSAtdmFsKSB4LnB1c2hfYmFjayhuIC0gYVtpXS5maXJzdCArIDEpOwogICAgfQogICAgZm9yKGludCBpPTA7IGk8bTsgaSsrKSB7CiAgICAgICAgaWYoYWJzKGJbaV0uc2Vjb25kKSA8IHZhbCkgdC5wdXNoX2JhY2soYltpXS5maXJzdCk7CiAgICAgICAgZWxzZSBpZihiW2ldLnNlY29uZCAhPSAtdmFsKSB5LnB1c2hfYmFjayhtIC0gYltpXS5maXJzdCArIDEpOwogICAgfQogICAgaW50IG5zID0gZ2V0TGlzU2l6ZSggZ2V0TGlzKHMpICk7CiAgICBpbnQgbnQgPSBnZXRMaXNTaXplKCBnZXRMaXModCkgKTsKICAgIGludCBueCA9IGdldExpc1NpemUoIGdldExpcyh4KSApOwogICAgaW50IG55ID0gZ2V0TGlzU2l6ZSggZ2V0TGlzKHkpICk7CiAgICByZXR1cm4gbnQgPj0gbnMgJiYgbnkgPj0gbng7Cn0KCi8vIHBhdHRlcm4sIHEKYm9vbCBjaGVja3ZlY1RocmVlKHZlY3RvcjxwaWk+ICZhLCB2ZWN0b3I8cGlpPiAmYikgewogICAgaW50IG4gPSBhLnNpemUoKSwgbSA9IGIuc2l6ZSgpLCBjdXIgPSAwOwogICAgdmVjdG9yPGludD4gdnAsIHZxOwogICAgZm9yKGludCBpPTA7IGk8bjsgaSsrKSB7CiAgICAgICAgdnAucHVzaF9iYWNrKGFbaV0uZmlyc3QpOwogICAgICAgIGludCB0eXBlID0gYVtpXS5zZWNvbmQ7CiAgICAgICAgd2hpbGUoMSkgewogICAgICAgICAgICBib29sIG9rID0gZmFsc2U7CiAgICAgICAgICAgIGlmKGJbY3VyXS5zZWNvbmQgPT0gdHlwZSkgb2sgPSB0cnVlOwogICAgICAgICAgICBpZih0eXBlIDwgMCAmJiBiW2N1cl0uc2Vjb25kID4gMCkgewogICAgICAgICAgICAgICAgaW50IHQgPSB0eXBlICogKC0xKTsKICAgICAgICAgICAgICAgIGlmKGJbY3VyXS5zZWNvbmQgPT0gdCB8fCBiW2N1cl0uc2Vjb25kID09IHQtMSkgb2sgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGJbY3VyXS5zZWNvbmQgPCAwICYmIHR5cGUgPiAwKSB7CiAgICAgICAgICAgICAgICBpbnQgdCA9IGJbY3VyXS5zZWNvbmQgKiAoLTEpOwogICAgICAgICAgICAgICAgaWYodHlwZSA9PSB0IHx8IHR5cGUgPT0gdC0xKSBvayA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYob2spIHsKICAgICAgICAgICAgICAgIHZxLnB1c2hfYmFjayhiW2N1cl0uZmlyc3QpOwogICAgICAgICAgICAgICAgY3VyKys7IGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCsrY3VyID49IG0pIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfQoKYm9vbCBzb2x2ZV8xKHZlY3RvcjxpbnQ+ICZwLCB2ZWN0b3I8aW50PiAmcSkgewogICAgaW50IG4gPSBnZXRMaXNTaXplKCBnZXRMaXMocCkgKTsKICAgIGludCBtID0gZ2V0TGlzU2l6ZSggZ2V0TGlzKHEpICk7CiAgICByZXR1cm4gbSA+PSBuOwp9Cgpib29sIHNvbHZlXzIodmVjdG9yPGludD4gJnAsIHZlY3RvcjxpbnQ+ICZxKSB7CiAgICB2ZWN0b3I8cGlpPiB2cCwgdnE7CiAgICBpZihxWzBdID4gcVsxXSkgewogICAgICAgIHZwID0gbWFrZXZlYyhwLCAyKSwgdnEgPSBtYWtldmVjKHEsIDEpOwogICAgICAgIHJldHVybiBjaGVja3ZlY1R3byh2cCwgdnEsIDApOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgdnAgPSBtYWtldmVjKHAsIDEpLCB2cSA9IG1ha2V2ZWMocSwgMSk7CiAgICAgICAgcmV0dXJuIGNoZWNrdmVjVHdvKHZwLCB2cSwgMSk7CiAgICB9Cn0KCmJvb2wgc29sdmVfMyh2ZWN0b3I8aW50PiAmcCwgdmVjdG9yPGludD4gJnEpIHsKICAgIGlmKHFbMF0gPiBxWzFdKSByZXR1cm4gZmFsc2U7CiAgICB2ZWN0b3I8cGlpPiB2cCwgdnE7CiAgICB2cCA9IG1ha2V2ZWMocCwgMSwgdHJ1ZSk7IHZxID0gbWFrZXZlYyhxLCAxLCB0cnVlKTsKICAgIHJldHVybiBjaGVja3ZlY1RocmVlKHZwLCB2cSk7Cn0KCmludCBtYWluKCkgewogICAgY2luID4+IE47CiAgICB2ZWN0b3I8aW50PiBxKE4pOwogICAgZm9yKGludCBpPTA7IGk8TjsgaSsrKSBzY2FuZigiJWQiLCAmcVtpXSk7CgogICAgY2luID4+IE07CiAgICB2ZWN0b3I8aW50PiBwYXQoTSk7CiAgICBmb3IoaW50IGk9MDsgaTxNOyBpKyspIHNjYW5mKCIlZCIsICZwYXRbaV0pOwoKICAgIGlmKE0gPiAxICYmIHBhdFswXSA+IHBhdFsxXSkgewogICAgICAgIHEgICA9IGludihxICApOwogICAgICAgIHBhdCA9IGludihwYXQpOwogICAgfQoKICAgIGludCBSVU4gPSBjYWxjcnVuKHBhdCk7CiAgICBpZiAgICAgIChSVU4gPT0gMSkgIGNvdXQgPDwgKHNvbHZlXzEocGF0LCBxKSA/ICJZZXMiIDogIk5vIikgPDwgZW5kbDsKICAgIGVsc2UgaWYgKFJVTiA9PSAyKSAgY291dCA8PCAoc29sdmVfMihwYXQsIHEpID8gIlllcyIgOiAiTm8iKSA8PCBlbmRsOwogICAgZWxzZSBpZiAoUlVOID09IDMpICBjb3V0IDw8IChzb2x2ZV8zKHBhdCwgcSkgPyAiWWVzIiA6ICJObyIpIDw8IGVuZGw7CiAgICBlbHNlICAgICAgICAgICAgICAgIGNvdXQgPDwgIk5vIiA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0=