#include <stdio.h>
#include <stdbool.h>

bool Brovko_condition(int a, int b, int p, int q, int r, int s)
{
	if (q>b || s>b || r>a || p>a)
	{
		return false;
	}
	int K=(a*b); //Площадь участка.
	int L=(p*q); //Площадь первого дома.
	int T=(r*s); //Площадь второго дома.
	return ! ((q+s>2*b && p+r>a) || (q+s>b && p+r>2*a) || (L+T>K));
}

bool Brovko_condition2(int a, int b, int p, int q, int r, int s)
{
	if (q>b || s>b || r>a || p>a) return false;
	if(p+r<=2*a && q+s<=b) return true;
		else if (q+s<=2*b && p+r<=a) return true;
			else return false;
}

bool Brovko_condition3(int a, int b, int p, int q, int r, int s)
{
	if ((q>b && q>a) || (s>b && s>a) || (r>a && r>b) || (p>a && p>b))
		{
		return false; //printf("Дома не могут быть построены. \n");
		}
	else
	{
	if((p+r<=2*a && q+s<=b) || (q+s<=2*b && p+r<=a))
      	{
	   	return true; //printf("Дома могут быть построены на заданном участке. \n");
	  	}
	else if((p+r<=2*b && q+s<=a) || (q+s<=2*a && p+r<=b))
		{
		return true; //printf("Дома могут быть построены на заданном участке при повороте на 90 градусов. \n");
		}
	else if((r+q<=2*b && s+p<=a) || (p+s<=2*a && r+q<=b))
		{
		return true; //printf("Дома могут быть построены на заданном участке при повороте дома со сторонами r s на 90 градусов. \n");
		}
	else if((p+s<=2*b && r+q<=a) || (q+r<=2*a && p+s<=b))
		{
		return true; //printf("Дома могут быть построены на заданном участке при повороте дома со сторонами p q на 90 градусов. \n");
		}
	else
	  	{
		return false; //printf("Дома не могут быть построены на заданном участке. \n");
	  	}
	}
}

bool Brovko_condition4(int a, int b, int p, int q, int r, int s)
{
	if ((q>=b && q>=a) || (s>=b && s>=a) || (r>=a && r>=b) || (p>=a && p>=b))
		{
		return false; //printf("Дома не могут быть построены. \n");
		}
	else
	{
	if((p+r<2*a && q+s<b) || (q+s<2*b && p+r<a))
      	{
	   	return true; //printf("Дома могут быть построены на заданном участке. \n");
	  	}
	else if((p+r<2*b && q+s<a) || (q+s<2*a && p+r<b))
		{
		return true; //printf("Дома могут быть построены на заданном участке при повороте на 90 градусов. \n");
		}
	else if((r+q<2*b && s+p<a) || (p+s<2*a && r+q<b))
		{
		return true; //printf("Дома могут быть построены на заданном участке при повороте дома со сторонами r s на 90 градусов. \n");
		}
	else if((p+s<2*b && r+q<a) || (q+r<2*a && p+s<b))
		{
		return true; //printf("Дома могут быть построены на заданном участке при повороте дома со сторонами p q на 90 градусов. \n");
		}
	else
	  	{
		return false; //printf("Дома не могут быть построены на заданном участке. \n");
	  	}
	}
}

bool Antonenko_condition_part(int a, int b, int p, int q, int r, int s)
{
	return (p+r<a && q< b && s<b)  //Два случая нарисованные у Ильи Бровко
	    || (q+s<b && p< a && r<a); //без поворотов
}

bool Antonenko_condition(int a, int b, int p, int q, int r, int s)
{
	return Antonenko_condition_part(a,b,p,q,r,s) //всевозможные повороты
	    || Antonenko_condition_part(a,b,q,p,r,s) //достаточно вращать только
	    || Antonenko_condition_part(a,b,p,q,s,r) // внутренние участки
	    || Antonenko_condition_part(a,b,q,p,s,r);
}

int main(void) {
	int a, b, p, q, r, s; //целые, чтобы страховаться от ошибок округления
	const int MIN=1, MAX=7;
	for (a=MIN;a<MAX;a++)
		for (b=MIN;b<MAX;b++)
			for (p=MIN;p<MAX;p++)
				for (q=MIN;q<MAX;q++)
					for (r=MIN;r<MAX;r++)
						for (s=MIN;s<MAX;s++)
	{
		if (Brovko_condition4(a, b, p, q, r, s) 
		     && !Antonenko_condition(a, b, p, q, r, s))	
		{
			printf( "%d %d %d %d %d %d => B=%s A=%s\n",
			         a, b, p, q, r, s,"yes","no");
		}
		if (!Brovko_condition4(a, b, p, q, r, s) 
		  	  && Antonenko_condition(a, b, p, q, r, s))	
		{
			printf( "%d %d %d %d %d %d => B=%s A=%s\n",
			         a, b, p, q, r, s,"no","yes");
		}
			
	}
		
	return 0;
}
