#include <string>
#include <iostream>

int main()
{
	long long N = 0;
	long long A = 0;
	std::cin >> N >> A;
	
	long long ostatak = N - A * 3;
	
	if ((A * 3 > N) || (A == 2 && ostatak % 2 == 1))
	{
		std::cout << "-1";
		return 0;
	}
	
	long long Pavle1 = A;
	long long Pavle2 = A;
	long long Pavle3 = A;
	long long Zivka1 = 0;
	long long Zivka2 = 0;
	long long Zivka3 = 0;
	
	if (ostatak >= (A * 3 - 6))
	{
		if ((ostatak % 2 == 0) && ((A - 2) % 2 == 0))
		{
			Pavle1 += (ostatak - (A - 2)) / 2;
			Zivka1 = A - 2 + (ostatak - (A - 2)) / 2;
		}
		
		if ((ostatak % 2 == 0) && ((A - 2) % 2 == 1))
		{
			Pavle1 += (ostatak - (A - 2)) / 2;
			Zivka1 = A - 2 + (ostatak - (A - 2)) / 2;
			Zivka3 += 1;
		}
		
		if ((ostatak % 2 == 1) && ((A - 2) % 2 == 1))
		{
			Pavle1 += (ostatak - (A - 2)) / 2;
			Zivka1 = A - 2 + (ostatak - (A - 2)) / 2;
		}
		
		if ((ostatak % 2 == 1) && ((A - 2) % 2 == 0))
		{
			Pavle1 += (ostatak - (A - 2)) / 2;
			Zivka1 = A - 2 + (ostatak - (A - 2)) / 2;
			Zivka3 += 1;
		}
	}
	else
	{
		Zivka1 += ostatak / 3;
		if (ostatak / 3 == 0)
		{
			if (ostatak % 3 == 1)
			{
				Zivka2 += ostatak / 3;
				Zivka3 += ostatak / 3 + 1;
			}
			if (ostatak % 3 == 2)
			{
				Zivka2 += ostatak / 3 + 1;
				Zivka3 += ostatak / 3 + 1;
			}
		}
		else
		{
			Zivka2 += ostatak / 3;
			Zivka3 += ostatak / 3 + ostatak % 3;
		}
	}
	
	std::cout << Pavle1 << " " << Zivka1 << std::endl;
	std::cout << Pavle2 << " " << Zivka2 << std::endl;
	std::cout << Pavle3 << " " << Zivka3 << std::endl;
	
	return 0;
	
}