#include <iostream>
#include <vector>
#include <algorithm>

typedef std::vector<int> DType;
static const int VSize = 8;

//汎用性ないなー。Orz       C++11   http://i...content-available-to-author-only...e.com/Moj4uK

bool FirstCheck(DType A, DType B){
	if (A.size() != VSize) return false;
	if (B.size() != VSize) return false;

	if (std::count(A.begin(), A.end(), 0) !=
		std::count(B.begin(), B.end(), 0)) return false;

	return true;
}

DType MakeIndex(std::size_t N){

	DType R;
	for (std::size_t i = 0; i < N; i++)R.push_back(i);

	return R;
}

bool RotX(DType &v){
//	23670145
	std::swap(v[0], v[4]);//block move1
	std::swap(v[1], v[5]);
	std::swap(v[0], v[6]);//2
	std::swap(v[1], v[7]);
	std::swap(v[0], v[2]);//3
	std::swap(v[1], v[3]);

	return 0;

}
bool RotY(DType &v){
//	13025746
	std::swap(v[0], v[2]);//block move1
	std::swap(v[0], v[3]);
	std::swap(v[0], v[1]);//2
	std::swap(v[4], v[6]);
	std::swap(v[4], v[7]);//3
	std::swap(v[4], v[5]);

	return 0;
}
bool RotZ(DType &v){
//	40625173
	std::swap(v[0], v[1]);//block move1
	std::swap(v[2], v[3]);
	std::swap(v[0], v[5]);//2
	std::swap(v[2], v[7]);
	std::swap(v[0], v[4]);//3
	std::swap(v[2], v[6]);

	return 0;
}

bool Comp(DType& A, DType& B, DType& Idx){
	for (std::size_t i = 0; i < VSize; i++)
	{
		if (A[Idx[i]] != B[i]) return false;
	}

	return true;
}

bool MakeHoge(DType A, DType B){

	if (FirstCheck(A, B) == false) return false;

	auto Idx = MakeIndex(VSize);
	for (std::size_t i = 0; i < 4; i++)
	{
		for (std::size_t j = 0; j < 4; j++)
		{
			for (std::size_t k = 0; k < 4; k++)
			{
				if (Comp(A, B, Idx) == true) return true;
				RotX(Idx);
			}
			RotY(Idx);
		}
		RotZ(Idx);
	}
	return false;
}

bool Show(DType& A, DType& B, bool b){

	char S[][16] = { "偽", "真" };

	for (auto& o : A) std::cout << o;
	std::cout << ',';
	for (auto& o : B) std::cout << o;
	std::cout << " -> " << S[b] << std::endl;

	return true;
}



int main(){


	auto F = [](DType A, DType B)-> bool{
		bool b = false;

		b = MakeHoge(A, B);
		Show(A, B, b);
		return true;
	};

//	F({ 0, 0, 0, 0, 0, 0, 0, 1, }, { 1, 0, 0, 0, 0, 0, 0, 0, });
//	F({ 0, 0, 0, 0, 1, 1, 1, 1, }, { 1, 0, 1, 0, 1, 0, 1, 0, });
/*
F({1,0,0,1,0,0,0,0,},{0,1,0,0,0,0,0,1,});
*/
F({0,0,0,0,0,0,0,0,},{0,0,0,0,0,0,0,0,});
F({0,0,0,0,0,0,0,1,},{0,0,0,0,0,0,0,1,});
F({0,0,0,0,0,0,1,0,},{0,0,0,0,0,0,0,1,});
F({0,0,0,0,0,0,1,1,},{0,0,0,0,0,0,1,1,});
F({0,0,0,0,0,1,0,0,},{0,0,0,0,0,0,0,1,});
F({0,0,0,0,0,1,0,1,},{0,0,0,0,0,0,1,1,});
F({0,0,0,0,0,1,1,0,},{0,0,0,0,0,1,1,0,});
F({0,0,0,0,0,1,1,1,},{0,0,0,0,0,1,1,1,});
F({0,0,0,0,1,0,0,0,},{0,0,0,0,0,0,0,1,});
F({0,0,0,0,1,0,0,1,},{0,0,0,0,0,1,1,0,});
F({0,0,0,0,1,0,1,0,},{0,0,0,0,0,0,1,1,});
F({0,0,0,0,1,0,1,1,},{0,0,0,0,0,1,1,1,});
F({0,0,0,0,1,1,0,0,},{0,0,0,0,0,0,1,1,});
F({0,0,0,0,1,1,0,1,},{0,0,0,0,0,1,1,1,});
F({0,0,0,0,1,1,1,0,},{0,0,0,0,0,1,1,1,});
F({0,0,0,0,1,1,1,1,},{0,0,0,0,1,1,1,1,});
F({0,0,0,1,0,0,0,0,},{0,0,0,0,0,0,0,1,});
F({0,0,0,1,0,0,0,1,},{0,0,0,0,0,0,1,1,});
F({0,0,0,1,0,0,1,0,},{0,0,0,0,0,1,1,0,});
F({0,0,0,1,0,0,1,1,},{0,0,0,0,0,1,1,1,});
F({0,0,0,1,0,1,0,0,},{0,0,0,0,0,1,1,0,});
F({0,0,0,1,0,1,0,1,},{0,0,0,0,0,1,1,1,});
F({0,0,0,1,0,1,1,0,},{0,0,0,1,0,1,1,0,});
F({0,0,0,1,0,1,1,1,},{0,0,0,1,0,1,1,1,});
F({0,0,0,1,1,0,0,0,},{0,0,0,1,1,0,0,0,});
F({0,0,0,1,1,0,0,1,},{0,0,0,1,1,0,0,1,});
F({0,0,0,1,1,0,1,0,},{0,0,0,1,1,0,0,1,});
F({0,0,0,1,1,0,1,1,},{0,0,0,1,1,0,1,1,});
F({0,0,0,1,1,1,0,0,},{0,0,0,1,1,0,0,1,});
F({0,0,0,1,1,1,0,1,},{0,0,0,1,1,1,0,1,});
F({0,0,0,1,1,1,1,0,},{0,0,0,1,1,1,1,0,});
F({0,0,0,1,1,1,1,1,},{0,0,0,1,1,1,1,1,});
F({0,0,1,0,0,0,0,0,},{0,0,0,0,0,0,0,1,});
F({0,0,1,0,0,0,0,1,},{0,0,0,0,0,1,1,0,});
F({0,0,1,0,0,0,1,0,},{0,0,0,0,0,0,1,1,});
F({0,0,1,0,0,0,1,1,},{0,0,0,0,0,1,1,1,});
F({0,0,1,0,0,1,0,0,},{0,0,0,1,1,0,0,0,});
F({0,0,1,0,0,1,0,1,},{0,0,0,1,1,0,0,1,});
F({0,0,1,0,0,1,1,0,},{0,0,0,1,1,0,0,1,});
F({0,0,1,0,0,1,1,1,},{0,0,0,1,1,1,0,1,});
F({0,0,1,0,1,0,0,0,},{0,0,0,0,0,1,1,0,});
F({0,0,1,0,1,0,0,1,},{0,0,0,1,0,1,1,0,});
F({0,0,1,0,1,0,1,0,},{0,0,0,0,0,1,1,1,});
F({0,0,1,0,1,0,1,1,},{0,0,0,1,0,1,1,1,});
F({0,0,1,0,1,1,0,0,},{0,0,0,1,1,0,0,1,});
F({0,0,1,0,1,1,0,1,},{0,0,0,1,1,1,1,0,});
F({0,0,1,0,1,1,1,0,},{0,0,0,1,1,0,1,1,});
F({0,0,1,0,1,1,1,1,},{0,0,0,1,1,1,1,1,});
F({0,0,1,1,0,0,0,0,},{0,0,0,0,0,0,1,1,});
F({0,0,1,1,0,0,0,1,},{0,0,0,0,0,1,1,1,});
F({0,0,1,1,0,0,1,0,},{0,0,0,0,0,1,1,1,});
F({0,0,1,1,0,0,1,1,},{0,0,0,0,1,1,1,1,});
F({0,0,1,1,0,1,0,0,},{0,0,0,1,1,0,0,1,});
F({0,0,1,1,0,1,0,1,},{0,0,0,1,1,0,1,1,});
F({0,0,1,1,0,1,1,0,},{0,0,0,1,1,1,1,0,});
F({0,0,1,1,0,1,1,1,},{0,0,0,1,1,1,1,1,});
F({0,0,1,1,1,0,0,0,},{0,0,0,1,1,0,0,1,});
F({0,0,1,1,1,0,0,1,},{0,0,0,1,1,1,1,0,});
F({0,0,1,1,1,0,1,0,},{0,0,0,1,1,1,0,1,});
F({0,0,1,1,1,0,1,1,},{0,0,0,1,1,1,1,1,});
F({0,0,1,1,1,1,0,0,},{0,0,1,1,1,1,0,0,});
F({0,0,1,1,1,1,0,1,},{0,0,1,1,1,1,0,1,});
F({0,0,1,1,1,1,1,0,},{0,0,1,1,1,1,0,1,});
F({0,0,1,1,1,1,1,1,},{0,0,1,1,1,1,1,1,});
F({0,1,0,0,0,0,0,0,},{0,0,0,0,0,0,0,1,});
F({0,1,0,0,0,0,0,1,},{0,0,0,0,0,1,1,0,});
F({0,1,0,0,0,0,1,0,},{0,0,0,1,1,0,0,0,});
F({0,1,0,0,0,0,1,1,},{0,0,0,1,1,0,0,1,});
F({0,1,0,0,0,1,0,0,},{0,0,0,0,0,0,1,1,});
F({0,1,0,0,0,1,0,1,},{0,0,0,0,0,1,1,1,});
F({0,1,0,0,0,1,1,0,},{0,0,0,1,1,0,0,1,});
F({0,1,0,0,0,1,1,1,},{0,0,0,1,1,0,1,1,});
F({0,1,0,0,1,0,0,0,},{0,0,0,0,0,1,1,0,});
F({0,1,0,0,1,0,0,1,},{0,0,0,1,0,1,1,0,});
F({0,1,0,0,1,0,1,0,},{0,0,0,1,1,0,0,1,});
F({0,1,0,0,1,0,1,1,},{0,0,0,1,1,1,1,0,});
F({0,1,0,0,1,1,0,0,},{0,0,0,0,0,1,1,1,});
F({0,1,0,0,1,1,0,1,},{0,0,0,1,0,1,1,1,});
F({0,1,0,0,1,1,1,0,},{0,0,0,1,1,1,0,1,});
F({0,1,0,0,1,1,1,1,},{0,0,0,1,1,1,1,1,});
F({0,1,0,1,0,0,0,0,},{0,0,0,0,0,0,1,1,});
F({0,1,0,1,0,0,0,1,},{0,0,0,0,0,1,1,1,});
F({0,1,0,1,0,0,1,0,},{0,0,0,1,1,0,0,1,});
F({0,1,0,1,0,0,1,1,},{0,0,0,1,1,1,0,1,});
F({0,1,0,1,0,1,0,0,},{0,0,0,0,0,1,1,1,});
F({0,1,0,1,0,1,0,1,},{0,0,0,0,1,1,1,1,});
F({0,1,0,1,0,1,1,0,},{0,0,0,1,1,1,1,0,});
F({0,1,0,1,0,1,1,1,},{0,0,0,1,1,1,1,1,});
F({0,1,0,1,1,0,0,0,},{0,0,0,1,1,0,0,1,});
F({0,1,0,1,1,0,0,1,},{0,0,0,1,1,1,1,0,});
F({0,1,0,1,1,0,1,0,},{0,0,1,1,1,1,0,0,});
F({0,1,0,1,1,0,1,1,},{0,0,1,1,1,1,0,1,});
F({0,1,0,1,1,1,0,0,},{0,0,0,1,1,0,1,1,});
F({0,1,0,1,1,1,0,1,},{0,0,0,1,1,1,1,1,});
F({0,1,0,1,1,1,1,0,},{0,0,1,1,1,1,0,1,});
F({0,1,0,1,1,1,1,1,},{0,0,1,1,1,1,1,1,});
F({0,1,1,0,0,0,0,0,},{0,0,0,0,0,1,1,0,});
F({0,1,1,0,0,0,0,1,},{0,0,0,1,0,1,1,0,});
F({0,1,1,0,0,0,1,0,},{0,0,0,1,1,0,0,1,});
F({0,1,1,0,0,0,1,1,},{0,0,0,1,1,1,1,0,});
F({0,1,1,0,0,1,0,0,},{0,0,0,1,1,0,0,1,});
F({0,1,1,0,0,1,0,1,},{0,0,0,1,1,1,1,0,});
F({0,1,1,0,0,1,1,0,},{0,0,1,1,1,1,0,0,});
F({0,1,1,0,0,1,1,1,},{0,0,1,1,1,1,0,1,});
F({0,1,1,0,1,0,0,0,},{0,0,0,1,0,1,1,0,});
F({0,1,1,0,1,0,0,1,},{0,1,1,0,1,0,0,1,});
F({0,1,1,0,1,0,1,0,},{0,0,0,1,1,1,1,0,});
F({0,1,1,0,1,0,1,1,},{0,1,1,0,1,0,1,1,});
F({0,1,1,0,1,1,0,0,},{0,0,0,1,1,1,1,0,});
F({0,1,1,0,1,1,0,1,},{0,1,1,0,1,0,1,1,});
F({0,1,1,0,1,1,1,0,},{0,0,1,1,1,1,0,1,});
F({0,1,1,0,1,1,1,1,},{0,1,1,0,1,1,1,1,});
F({0,1,1,1,0,0,0,0,},{0,0,0,0,0,1,1,1,});
F({0,1,1,1,0,0,0,1,},{0,0,0,1,0,1,1,1,});
F({0,1,1,1,0,0,1,0,},{0,0,0,1,1,0,1,1,});
F({0,1,1,1,0,0,1,1,},{0,0,0,1,1,1,1,1,});
F({0,1,1,1,0,1,0,0,},{0,0,0,1,1,1,0,1,});
F({0,1,1,1,0,1,0,1,},{0,0,0,1,1,1,1,1,});
F({0,1,1,1,0,1,1,0,},{0,0,1,1,1,1,0,1,});
F({0,1,1,1,0,1,1,1,},{0,0,1,1,1,1,1,1,});
F({0,1,1,1,1,0,0,0,},{0,0,0,1,1,1,1,0,});
F({0,1,1,1,1,0,0,1,},{0,1,1,0,1,0,1,1,});
F({0,1,1,1,1,0,1,0,},{0,0,1,1,1,1,0,1,});
F({0,1,1,1,1,0,1,1,},{0,1,1,0,1,1,1,1,});
F({0,1,1,1,1,1,0,0,},{0,0,1,1,1,1,0,1,});
F({0,1,1,1,1,1,0,1,},{0,1,1,0,1,1,1,1,});
F({0,1,1,1,1,1,1,0,},{0,1,1,1,1,1,1,0,});
F({0,1,1,1,1,1,1,1,},{0,1,1,1,1,1,1,1,});
F({1,0,0,0,0,0,0,0,},{0,0,0,0,0,0,0,1,});
F({1,0,0,0,0,0,0,1,},{0,0,0,1,1,0,0,0,});
F({1,0,0,0,0,0,1,0,},{0,0,0,0,0,1,1,0,});
F({1,0,0,0,0,0,1,1,},{0,0,0,1,1,0,0,1,});
F({1,0,0,0,0,1,0,0,},{0,0,0,0,0,1,1,0,});
F({1,0,0,0,0,1,0,1,},{0,0,0,1,1,0,0,1,});
F({1,0,0,0,0,1,1,0,},{0,0,0,1,0,1,1,0,});
F({1,0,0,0,0,1,1,1,},{0,0,0,1,1,1,1,0,});
F({1,0,0,0,1,0,0,0,},{0,0,0,0,0,0,1,1,});
F({1,0,0,0,1,0,0,1,},{0,0,0,1,1,0,0,1,});
F({1,0,0,0,1,0,1,0,},{0,0,0,0,0,1,1,1,});
F({1,0,0,0,1,0,1,1,},{0,0,0,1,1,1,0,1,});
F({1,0,0,0,1,1,0,0,},{0,0,0,0,0,1,1,1,});
F({1,0,0,0,1,1,0,1,},{0,0,0,1,1,0,1,1,});
F({1,0,0,0,1,1,1,0,},{0,0,0,1,0,1,1,1,});
F({1,0,0,0,1,1,1,1,},{0,0,0,1,1,1,1,1,});
F({1,0,0,1,0,0,0,0,},{0,0,0,0,0,1,1,0,});
F({1,0,0,1,0,0,0,1,},{0,0,0,1,1,0,0,1,});
F({1,0,0,1,0,0,1,0,},{0,0,0,1,0,1,1,0,});
F({1,0,0,1,0,0,1,1,},{0,0,0,1,1,1,1,0,});
F({1,0,0,1,0,1,0,0,},{0,0,0,1,0,1,1,0,});
F({1,0,0,1,0,1,0,1,},{0,0,0,1,1,1,1,0,});
F({1,0,0,1,0,1,1,0,},{0,1,1,0,1,0,0,1,});
F({1,0,0,1,0,1,1,1,},{0,1,1,0,1,0,1,1,});
F({1,0,0,1,1,0,0,0,},{0,0,0,1,1,0,0,1,});
F({1,0,0,1,1,0,0,1,},{0,0,1,1,1,1,0,0,});
F({1,0,0,1,1,0,1,0,},{0,0,0,1,1,1,1,0,});
F({1,0,0,1,1,0,1,1,},{0,0,1,1,1,1,0,1,});
F({1,0,0,1,1,1,0,0,},{0,0,0,1,1,1,1,0,});
F({1,0,0,1,1,1,0,1,},{0,0,1,1,1,1,0,1,});
F({1,0,0,1,1,1,1,0,},{0,1,1,0,1,0,1,1,});
F({1,0,0,1,1,1,1,1,},{0,1,1,0,1,1,1,1,});
F({1,0,1,0,0,0,0,0,},{0,0,0,0,0,0,1,1,});
F({1,0,1,0,0,0,0,1,},{0,0,0,1,1,0,0,1,});
F({1,0,1,0,0,0,1,0,},{0,0,0,0,0,1,1,1,});
F({1,0,1,0,0,0,1,1,},{0,0,0,1,1,0,1,1,});
F({1,0,1,0,0,1,0,0,},{0,0,0,1,1,0,0,1,});
F({1,0,1,0,0,1,0,1,},{0,0,1,1,1,1,0,0,});
F({1,0,1,0,0,1,1,0,},{0,0,0,1,1,1,1,0,});
F({1,0,1,0,0,1,1,1,},{0,0,1,1,1,1,0,1,});
F({1,0,1,0,1,0,0,0,},{0,0,0,0,0,1,1,1,});
F({1,0,1,0,1,0,0,1,},{0,0,0,1,1,1,1,0,});
F({1,0,1,0,1,0,1,0,},{0,0,0,0,1,1,1,1,});
F({1,0,1,0,1,0,1,1,},{0,0,0,1,1,1,1,1,});
F({1,0,1,0,1,1,0,0,},{0,0,0,1,1,1,0,1,});
F({1,0,1,0,1,1,0,1,},{0,0,1,1,1,1,0,1,});
F({1,0,1,0,1,1,1,0,},{0,0,0,1,1,1,1,1,});
F({1,0,1,0,1,1,1,1,},{0,0,1,1,1,1,1,1,});
F({1,0,1,1,0,0,0,0,},{0,0,0,0,0,1,1,1,});
F({1,0,1,1,0,0,0,1,},{0,0,0,1,1,1,0,1,});
F({1,0,1,1,0,0,1,0,},{0,0,0,1,0,1,1,1,});
F({1,0,1,1,0,0,1,1,},{0,0,0,1,1,1,1,1,});
F({1,0,1,1,0,1,0,0,},{0,0,0,1,1,1,1,0,});
F({1,0,1,1,0,1,0,1,},{0,0,1,1,1,1,0,1,});
F({1,0,1,1,0,1,1,0,},{0,1,1,0,1,0,1,1,});
F({1,0,1,1,0,1,1,1,},{0,1,1,0,1,1,1,1,});
F({1,0,1,1,1,0,0,0,},{0,0,0,1,1,0,1,1,});
F({1,0,1,1,1,0,0,1,},{0,0,1,1,1,1,0,1,});
F({1,0,1,1,1,0,1,0,},{0,0,0,1,1,1,1,1,});
F({1,0,1,1,1,0,1,1,},{0,0,1,1,1,1,1,1,});
F({1,0,1,1,1,1,0,0,},{0,0,1,1,1,1,0,1,});
F({1,0,1,1,1,1,0,1,},{0,1,1,1,1,1,1,0,});
F({1,0,1,1,1,1,1,0,},{0,1,1,0,1,1,1,1,});
F({1,0,1,1,1,1,1,1,},{0,1,1,1,1,1,1,1,});
F({1,1,0,0,0,0,0,0,},{0,0,0,0,0,0,1,1,});
F({1,1,0,0,0,0,0,1,},{0,0,0,1,1,0,0,1,});
F({1,1,0,0,0,0,1,0,},{0,0,0,1,1,0,0,1,});
F({1,1,0,0,0,0,1,1,},{0,0,1,1,1,1,0,0,});
F({1,1,0,0,0,1,0,0,},{0,0,0,0,0,1,1,1,});
F({1,1,0,0,0,1,0,1,},{0,0,0,1,1,1,0,1,});
F({1,1,0,0,0,1,1,0,},{0,0,0,1,1,1,1,0,});
F({1,1,0,0,0,1,1,1,},{0,0,1,1,1,1,0,1,});
F({1,1,0,0,1,0,0,0,},{0,0,0,0,0,1,1,1,});
F({1,1,0,0,1,0,0,1,},{0,0,0,1,1,1,1,0,});
F({1,1,0,0,1,0,1,0,},{0,0,0,1,1,0,1,1,});
F({1,1,0,0,1,0,1,1,},{0,0,1,1,1,1,0,1,});
F({1,1,0,0,1,1,0,0,},{0,0,0,0,1,1,1,1,});
F({1,1,0,0,1,1,0,1,},{0,0,0,1,1,1,1,1,});
F({1,1,0,0,1,1,1,0,},{0,0,0,1,1,1,1,1,});
F({1,1,0,0,1,1,1,1,},{0,0,1,1,1,1,1,1,});
F({1,1,0,1,0,0,0,0,},{0,0,0,0,0,1,1,1,});
F({1,1,0,1,0,0,0,1,},{0,0,0,1,1,0,1,1,});
F({1,1,0,1,0,0,1,0,},{0,0,0,1,1,1,1,0,});
F({1,1,0,1,0,0,1,1,},{0,0,1,1,1,1,0,1,});
F({1,1,0,1,0,1,0,0,},{0,0,0,1,0,1,1,1,});
F({1,1,0,1,0,1,0,1,},{0,0,0,1,1,1,1,1,});
F({1,1,0,1,0,1,1,0,},{0,1,1,0,1,0,1,1,});
F({1,1,0,1,0,1,1,1,},{0,1,1,0,1,1,1,1,});
F({1,1,0,1,1,0,0,0,},{0,0,0,1,1,1,0,1,});
F({1,1,0,1,1,0,0,1,},{0,0,1,1,1,1,0,1,});
F({1,1,0,1,1,0,1,0,},{0,0,1,1,1,1,0,1,});
F({1,1,0,1,1,0,1,1,},{0,1,1,1,1,1,1,0,});
F({1,1,0,1,1,1,0,0,},{0,0,0,1,1,1,1,1,});
F({1,1,0,1,1,1,0,1,},{0,0,1,1,1,1,1,1,});
F({1,1,0,1,1,1,1,0,},{0,1,1,0,1,1,1,1,});
F({1,1,0,1,1,1,1,1,},{0,1,1,1,1,1,1,1,});
F({1,1,1,0,0,0,0,0,},{0,0,0,0,0,1,1,1,});
F({1,1,1,0,0,0,0,1,},{0,0,0,1,1,1,1,0,});
F({1,1,1,0,0,0,1,0,},{0,0,0,1,1,1,0,1,});
F({1,1,1,0,0,0,1,1,},{0,0,1,1,1,1,0,1,});
F({1,1,1,0,0,1,0,0,},{0,0,0,1,1,0,1,1,});
F({1,1,1,0,0,1,0,1,},{0,0,1,1,1,1,0,1,});
F({1,1,1,0,0,1,1,0,},{0,0,1,1,1,1,0,1,});
F({1,1,1,0,0,1,1,1,},{0,1,1,1,1,1,1,0,});
F({1,1,1,0,1,0,0,0,},{0,0,0,1,0,1,1,1,});
F({1,1,1,0,1,0,0,1,},{0,1,1,0,1,0,1,1,});
F({1,1,1,0,1,0,1,0,},{0,0,0,1,1,1,1,1,});
F({1,1,1,0,1,0,1,1,},{0,1,1,0,1,1,1,1,});
F({1,1,1,0,1,1,0,0,},{0,0,0,1,1,1,1,1,});
F({1,1,1,0,1,1,0,1,},{0,1,1,0,1,1,1,1,});
F({1,1,1,0,1,1,1,0,},{0,0,1,1,1,1,1,1,});
F({1,1,1,0,1,1,1,1,},{0,1,1,1,1,1,1,1,});
F({1,1,1,1,0,0,0,0,},{0,0,0,0,1,1,1,1,});
F({1,1,1,1,0,0,0,1,},{0,0,0,1,1,1,1,1,});
F({1,1,1,1,0,0,1,0,},{0,0,0,1,1,1,1,1,});
F({1,1,1,1,0,0,1,1,},{0,0,1,1,1,1,1,1,});
F({1,1,1,1,0,1,0,0,},{0,0,0,1,1,1,1,1,});
F({1,1,1,1,0,1,0,1,},{0,0,1,1,1,1,1,1,});
F({1,1,1,1,0,1,1,0,},{0,1,1,0,1,1,1,1,});
F({1,1,1,1,0,1,1,1,},{0,1,1,1,1,1,1,1,});
F({1,1,1,1,1,0,0,0,},{0,0,0,1,1,1,1,1,});
F({1,1,1,1,1,0,0,1,},{0,1,1,0,1,1,1,1,});
F({1,1,1,1,1,0,1,0,},{0,0,1,1,1,1,1,1,});
F({1,1,1,1,1,0,1,1,},{0,1,1,1,1,1,1,1,});
F({1,1,1,1,1,1,0,0,},{0,0,1,1,1,1,1,1,});
F({1,1,1,1,1,1,0,1,},{0,1,1,1,1,1,1,1,});
F({1,1,1,1,1,1,1,0,},{0,1,1,1,1,1,1,1,});
F({1,1,1,1,1,1,1,1,},{1,1,1,1,1,1,1,1,});

	return 0;

}
