var O=[];
var BR=ce('br');

function res()
	{
	OUT=gid('out');
	if(OUT.firstChild){OUT.removeChild(OUT.firstChild);}
	}

function main()
	{
	var boss=0;
	var heart=0;
	var subcap=0;
	var rachip=0;
	
	var sc=[6,7,18,19,26,27,30,31];
	var rc=[2,3,10,11,14,15,22,23];

	for(i=0;i<32;i+=4){if(c(i)){boss++;}}
	for(i=1;i<32;i+=4){if(c(i)){heart++;}}

	for(i=0;i<8;i++){if(c(sc[i])){subcap++;}}
	for(i=0;i<8;i++){if(c(rc[i])){rachip++;}}

	O[0]=(v(3,2))?(c(0))?(c(17))?3:2:(c(17))?5:4:(c(0))?(c(17))?8:7:(c(17))?6:1;
	O[1]=(rachip&1)?(c(18))?(c(9))?2:8:(c(9))?1:5:(c(18))?(c(9))?3:7:(c(9))?4:6;
	O[2]=(v(2,2))?(c(4))?(c(2))?1:5:(c(2))?8:3:(c(4))?(c(2))?6:7:(c(2))?2:4;
	O[3]=(heart&1)?(c(8))?(c(19))?6:3:(c(19))?2:5:(c(8))?(c(19))?7:1:(c(19))?4:8;
	O[4]=(c(21))?(c(27))?(v(0,2))?8:1:(v(0,2))?7:5:(c(27))?(v(0,2))?6:4:(v(0,2))?3:2;
	O[5]=(v(1,2))?(c(23))?(c(25))?5:7:(c(25))?3:2:(c(23))?(c(25))?6:4:(c(25))?1:8;
	O[6]=(c(3))?(c(28))?8:6:(c(28))?5:3;
	O[7]=(boss&1)?(c(31))?(c(29))?6:2:(c(29))?7:8:(c(31))?(c(29))?3:1:(c(29))?5:4;
	O[8]=(subcap&1)?(c(30))?(c(13))?4:8:(c(13))?2:7:(c(30))?(c(13))?6:1:(c(13))?5:3;
	O[9]=(c(12))?(c(14))?(c(1))?7:5:(c(1))?8:2:(c(14))?(c(1))?6:4:(c(1))?3:1;
	O[10]=(c(20))?(c(22))?7:8:(c(22))?1:4;
	O[11]=(n(2))?(c(24))?(c(7))?2:7:(c(7))?5:3:(c(24))?(c(7))?8:4:(c(7))?6:1;
	O[12]=(n(1))?(c(16))?(c(26))?3:6:(c(26))?1:4:(c(16))?(c(26))?7:8:(c(26))?5:2;
	O[13]=(n(3))?(c(10))?(c(5))?8:3:(c(5))?4:5:(c(10))?(c(5))?7:1:(c(5))?6:2;
	O[14]=(c(15))?(c(6))?7:3:(c(6))?2:4;
	O[15]=((v(1,1)+v(2,1)+v(3,1))&1)?(c(11))?(v(0,0))?8:3:(v(0,0))?7:2:(c(11))?(v(0,0))?6:5:(v(0,0))?1:4;
	if(boss<8&&v(0,2)){alert('All 8 Mavericks must be defeated before you can select the Z-Saber');S(0);main();}
	gen();
	}

function gen()
	{
	res();
	RES=ce('div');
	for(i=0;i<16;i++)
		{
		RES.appendChild(ctn(O[i]));
		if(!((i+1)&3)){RES.appendChild(BR.cloneNode(0));}
		}
	OUT.appendChild(RES);
	}
