#include <iostream>
using namespace std;
/* The obvious approach to find minimum (involves branching) */
int min(int x, int y)
{
return (x < y) ? x : y;
}
/* The obvious approach to find minimum (involves branching) */
int max(int x, int y)
{
return (x > y) ? x : y;
}


int main() {
 int t;
 cin>>t;
 while(t--){
     int n,k1,k2;
     cin>>n>>k1>>k2;
     int w,b;
     cin>>w>>b;
     int m=0;
     if(k1+k2>=(2*w)){
         m=1;
     }
    if(m){
        if(2*n-k1-k2>=(2*b)){
            m=1;
        }
        else{
            m=0;
        }
    }
    if(m){
        cout<<"YES"<<endl;
    }
    else{
        cout<<"NO"<<endl;
    }
 }
 return 0;
}