#include <bits/stdc++.h>   using namespace std;   string to_string(char c) { return string(1, c); }   string to_string(bool b) { return b ?  true  :  false ; }   string to_string(const char* s) { return (string)s; }   string to_string(string s) { return s; }   template <class A>   string to_string(complex<A> c) {     stringstream ss;     ss << c;     return ss.str();   }   string to_string(vector<bool> v) {     string res =  { ;     for (int i = 0; i < (int)v.size(); i++) res += char( 0  + v[i]);     res +=  } ;     return res;   }   template <size_t SZ>   string to_string(bitset<SZ> b) {     string res =   ;     for (size_t i = 0; i < SZ; i++) res += char( 0  + b[i]);     return res;   }   template <class A, class B>   string to_string(pair<A, B> p);   template <class T>   string to_string(T v) {     bool fst = 1;     string res =  { ;     for (const auto& x : v) {       if (!fst) res +=  ,  ;       fst = 0;       res += to_string(x);     }     res +=  } ;     return res;   }   template <class A, class B>   string to_string(pair<A, B> p) {     return  (  + to_string(p.first) +  ,   + to_string(p.second) +  ) ;   }   void DBG() { cerr <<  ]  << endl; }   template <class H, class... T>   void DBG(H h, T... t) {     cerr << to_string(h);     if (sizeof...(t)) cerr <<  ,  ;     DBG(t...);   }   inline void test_case() {     int n;     cin >> n;     vector<int> a(n);     for (int i = 0; i < n; i++) {       cin >> a[i];     }     int l = a[0];     int r = a[n - 1];     n = a.size();     int negah = 0;     for (int& i : a) {       if (i < negah) {         cout <<  NO  <<   n ;         return;       }       if (i > l && i - l > negah) {         negah = i - l;         i -= l;       } else {         l = min(l, i - negah);         i -= l;       }     }     reverse((a).begin(), (a).end());     for (int& i : a) {       r = min(r, i);       i = max(i - r, 0);     }     if (count((a).begin(), (a).end(), 0) == (int)a.size()) {       cout <<  YES  <<   n ;     } else {       cout <<  NO  <<   n ;     }   }   int main() {     ios::sync_with_stdio(0);     int tt;     cin >> tt;     while (tt--) {       test_case();     }   }   