#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
#define inf 1000000000000000LL
#define mod 1000000007LL
#define FOR(i,a,b) for (ll i = (a); i < (b); i++)
#define ROF(i,a,b) for (ll i = (a); i >= (b); i--)
#define csort(a) sort(a.begin(), a.end())

class Segtree {
    vector<ll> tree;
    vector<ll> lazy;
    ll n;
    vector<ll> l1;
public:
    Segtree(ll _n) {
        n = _n;
        tree.assign(4 * n + 1, -1);
        lazy.assign(4 * n + 1, 0);
    }

    ll query(ll l, ll r, ll tl, ll tr, ll node) {
        // push(l, r, node);
        if (l > tr || r < tl) return -1;
        if (l >= tl && r <= tr) return tree[node];
        ll mid = (l + r) / 2;
        return max(query(l, mid, tl, tr, node * 2), query(mid + 1, r, tl, tr, node * 2 + 1));
    }

    void update(ll l, ll r, ll t, ll val, ll node) {
        // push(l, r, node);
        if (r < t || l > t) return;
        if (l == t && r == t) {
            tree[node] = val;
            return;
        }
        ll mid = (l + r) / 2;
        update(l, mid, t, val, node * 2);
        update(mid + 1, r, t, val, node * 2 + 1);
        tree[node] = max(tree[node * 2], tree[node * 2 + 1]);
    }
    void update(ll t, ll val){
        update(0, n-1, t, val, 1);
    }
    ll query(ll l, ll r){
        return query(0, n-1, l, r, 1);
    }
};

void solve() {
    ll n,q;
    cin >> n >> q;
    vector <ll> l1(n);
    for (int i = 0; i < n; i++) cin >> l1[i];
    vector <Segtree> f;
    for (int i = 0; i < 3; i++){
        f.emplace_back(n+2);
    }
    Segtree v = Segtree(n+ 2);
    for (int i = 0; i < n; i++){
        for (int x = 0; x < 3; x++){
            if (x ==0){
                f[0].update(l1[i], i); continue;
            }
            ll cur = f[x-1].query(l1[i] + 1, n + 1);
            f[x].update(l1[i], cur);
            if (x == 2){
                v.update(i, cur);
            }
        }
    }
    for (int i = 0; i < q; i++){
        ll l, r;
        cin >> l >> r;
        if (v.query(l-1,r-1) >= l-1){
            cout << "NO" << "\n";
        }
        else{
            cout << "YES" << "\n";
        }
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int t; cin >> t; while(t--)solve();

    return 0;
}