if(d[13]==1) a[1]=reverse(a[1]);f[3]=a[1]; if(d[10]==1) a[2]=reverse(a[2]);f[2]=a[2]; if(d[3]==1) a[3]=reverse(a[3]);f[0]=a[3]; break;
case 5: //3 0 1 2
if(d[4]==1) a[0]=reverse(a[0]);f[1]=a[0]; if(d[9]==1) a[1]=reverse(a[1]);f[2]=a[1]; if(d[14]==1) a[2]=reverse(a[2]);f[3]=a[2]; if(d[3]==1) a[3]=reverse(a[3]);f[0]=a[3]; break;
case 6: //2 3 1 0
if(d[12]==1) a[0]=reverse(a[0]);f[3]=a[0]; if(d[9]==1) a[1]=reverse(a[1]);f[2]=a[1]; if(d[2]==1) a[2]=reverse(a[2]);f[0]=a[2]; if(d[7]==1) a[3]=reverse(a[3]);f[1]=a[3]; break;
case 7: //2 3 0 1
if(d[8]==1) a[0]=reverse(a[0]);f[2]=a[0]; if(d[13]==1) a[1]=reverse(a[1]);f[3]=a[1]; if(d[2]==1) a[2]=reverse(a[2]);f[0]=a[2]; if(d[7]==1) a[3]=reverse(a[3]);f[1]=a[3]; break;
case 8: //2 1 3 0
if(d[12]==1) a[0]=reverse(a[0]);f[3]=a[0]; if(d[5]==1) a[1]=reverse(a[1]);f[1]=a[1]; if(d[2]==1) a[2]=reverse(a[2]);f[0]=a[2]; if(d[11]==1) a[3]=reverse(a[3]);f[2]=a[3]; break;
case 9: //2 1 0 3
if(d[8]==1) a[0]=reverse(a[0]);f[2]=a[0]; if(d[5]==1) a[1]=reverse(a[1]);f[1]=a[1]; if(d[2]==1) a[2]=reverse(a[2]);f[0]=a[2]; if(d[15]==1) a[3]=reverse(a[3]);f[3]=a[3]; break;
case 10: //2 0 3 1
if(d[4]==1) a[0]=reverse(a[0]);f[1]=a[0]; if(d[13]==1) a[1]=reverse(a[1]);f[3]=a[1]; if(d[2]==1) a[2]=reverse(a[2]);f[0]=a[2]; if(d[11]==1) a[3]=reverse(a[3]);f[2]=a[3]; break;
case 11: //2 0 1 3
if(d[4]==1) a[0]=reverse(a[0]);f[1]=a[0]; if(d[9]==1) a[1]=reverse(a[1]);f[2]=a[1]; if(d[2]==1) a[2]=reverse(a[2]);f[0]=a[2]; if(d[15]==1) a[3]=reverse(a[3]);f[3]=a[3]; break;
case 12: //1 3 2 0
if(d[12]==1) a[0]=reverse(a[0]);f[3]=a[0]; if(d[1]==1) a[1]=reverse(a[1]);f[0]=a[1]; if(d[10]==1) a[2]=reverse(a[2]);f[2]=a[2]; if(d[7]==1) a[3]=reverse(a[3]);f[1]=a[3]; break;
case 13: //1 3 0 2
if(d[8]==1) a[0]=reverse(a[0]);f[2]=a[0]; if(d[1]==1) a[1]=reverse(a[1]);f[0]=a[1];
if(d[14]==1) a[2]=reverse(a[2]);f[3]=a[2]; if(d[7]==1) a[3]=reverse(a[3]);f[1]=a[3]; break;
case 14: //1 2 3 0
if(d[12]==1) a[0]=reverse(a[0]);f[3]=a[0]; if(d[1]==1) a[1]=reverse(a[1]);f[0]=a[1]; if(d[6]==1) a[2]=reverse(a[2]);f[1]=a[2]; if(d[11]==1) a[3]=reverse(a[3]);f[2]=a[3]; break;
case 15: //1 2 0 3
if(d[12]==1) a[0]=reverse(a[0]);f[2]=a[0]; if(d[9]==1) a[1]=reverse(a[1]);f[0]=a[1]; if(d[6]==1) a[2]=reverse(a[2]);f[1]=a[2]; if(d[3]==1) a[3]=reverse(a[3]);f[3]=a[3]; break;
case 16: //1 0 3 2
if(d[4]==1) a[0]=reverse(a[0]);f[1]=a[0]; if(d[1]==1) a[1]=reverse(a[1]);f[0]=a[1]; if(d[14]==1) a[2]=reverse(a[2]);f[3]=a[2]; if(d[11]==1) a[3]=reverse(a[3]);f[2]=a[3]; break;
case 17: //1 0 2 3
if(d[4]==1) a[0]=reverse(a[0]);f[1]=a[0]; if(d[1]==1) a[1]=reverse(a[1]);f[0]=a[1]; if(d[10]==1) a[2]=reverse(a[2]);f[2]=a[2]; if(d[15]==1) a[3]=reverse(a[3]);f[3]=a[3]; break;
case 18: //0 3 2 1
if(d[0]==1) a[0]=reverse(a[0]);f[0]=a[0]; if(d[13]==1) a[1]=reverse(a[1]);f[3]=a[1]; if(d[10]==1) a[2]=reverse(a[2]);f[2]=a[2]; if(d[7]==1) a[3]=reverse(a[3]);f[1]=a[3]; break;
case 19: //0 3 1 2
if(d[0]==1) a[0]=reverse(a[0]);f[0]=a[0]; if(d[9]==1) a[1]=reverse(a[1]);f[2]=a[1]; if(d[14]==1) a[2]=reverse(a[2]);f[3]=a[2]; if(d[7]==1) a[3]=reverse(a[3]);f[1]=a[3]; break;
case 20: //0 2 3 1
if(d[0]==1) a[0]=reverse(a[0]);f[0]=a[0]; if(d[13]==1) a[1]=reverse(a[1]);f[3]=a[1]; if(d[6]==1) a[2]=reverse(a[2]);f[1]=a[2]; if(d[11]==1) a[3]=reverse(a[3]);f[2]=a[3]; break;
case 21: //0 2 1 3
if(d[0]==1) a[0]=reverse(a[0]);f[0]=a[0]; if(d[9]==1) a[1]=reverse(a[1]);f[2]=a[1]; if(d[6]==1) a[2]=reverse(a[2]);f[1]=a[2]; if(d[15]==1) a[3]=reverse(a[3]);f[3]=a[3]; break;
case 22: //0 1 3 2
if(d[0]==1) a[0]=reverse(a[0]);f[0]=a[0]; if(d[5]==1) a[1]=reverse(a[1]);f[1]=a[1]; if(d[14]==1) a[2]=reverse(a[2]);f[3]=a[2];
if(d[11]==1) a[3]=reverse(a[3]);f[2]=a[3]; break;
case 23: //0 1 2 3
if(d[0]==1) a[0]=reverse(a[0]);f[0]=a[0]; if(d[5]==1) a[1]=reverse(a[1]);f[1]=a[1]; if(d[10]==1) a[2]=reverse(a[2]);f[2]=a[2]; if(d[15]==1) a[3]=reverse(a[3]);f[3]=a[3]; break; default: break; } }