
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define M 1000000007
#define mp make_pair
#define pb push_back
#define lb lower_bound
#define ub upper_bound
#define fi first
#define se second
typedef vector<ll> vl;
#define f(i,s,n) for(ll i=s;i<n;i++)
#define fe(i,s,n) for(ll i=s;i<=n;i++)
int main()
{
	ll t;
	cin >> t;
	while (t--)
	{
		ll n, u, r, d, l;
		cin >> n >> u >> r >> d >> l;
		ll u2, r2, d2, l2;
		u2 = u;
		d2 = d;
		r2 = r;
		l2 = l;
		if (u2 == n)
		{
			l = l - 1;
			r = r - 1;
		}
		if (d2 == n)
		{
			l = l - 1;
			r = r - 1;
		}
		if (l2 == n)
		{
			u = u - 1;
			d = d - 1;
		}
		if (r2 == n)
		{
			u = u - 1;
			d = d - 1;
		}
		vector<vector<ll>>v;
		vector<ll>res = {l, r, u, d};
		v.pb(res);
		if (l2 == n - 1)
		{
			vector<vector<ll>>res;
			for (int i = 0; i < v.size(); i++)
			{
				vector<ll>temp = {v[i][0], v[i][1], v[i][2] - 1, v[i][3]};
				res.pb(temp);
				temp = {v[i][0], v[i][1], v[i][2], v[i][3] - 1};
				res.pb(temp);

			}
			v = res;
		}

		if (r2 == n - 1)
		{
			vector<vector<ll>>res;
			for (int i = 0; i < v.size(); i++)
			{
				vector<ll>temp = {v[i][0], v[i][1], v[i][2] - 1, v[i][3]};
				res.pb(temp);
				temp = {v[i][0], v[i][1], v[i][2], v[i][3] - 1};
				res.pb(temp);

			}
			v = res;
		}

		if (u2 == n - 1)
		{
			vector<vector<ll>>res;
			for (int i = 0; i < v.size(); i++)
			{
				vector<ll>temp = {v[i][0] - 1, v[i][1], v[i][2], v[i][3]};
				res.pb(temp);
				temp = {v[i][0], v[i][1] - 1, v[i][2], v[i][3]};
				res.pb(temp);

			}
			v = res;
		}
		if (d2 == n - 1)
		{
			vector<vector<ll>>res;
			for (int i = 0; i < v.size(); i++)
			{
				vector<ll>temp = {v[i][0] - 1, v[i][1], v[i][2], v[i][3]};
				res.pb(temp);
				temp = {v[i][0], v[i][1] - 1, v[i][2], v[i][3]};
				res.pb(temp);

			}
			v = res;
		}
		ll p = -1;
		for (ll i = 0; i < v.size(); i++)
		{
			if (v[i][0] >= 0 && v[i][1] >= 0 && v[i][2] >= 0 && v[i][3] >= 0)
			{
				p = 1;
				break;
			}
		}
		if (p == 1)
			cout << "YES" << endl;
		else
			cout << "NO" << endl;
	}
}
