//　bitnic sort for 6 elements
#include <stdio.h>
#include <time.h>
#define testIterates 50000
int countOfCompare=0;
int countOfMove=0;
 
#define lswap2(p,q)     {w=d[p];d[p]=d[q];d[q]=w;countOfMove +=3;}
#define lswap3(p,q,r)   {w=d[p];d[p]=d[q];d[q]=d[r];d[r]=w;countOfMove+=4;}
#define lswap4(p,q,r,s) {w=d[p];d[p]=d[q];d[q]=d[r];d[r]=d[s];d[s]=w;countOfMove+=5;}
#define lswap5(p,q,r,s,t) {w=d[p];d[p]=d[q];d[q]=d[r];d[r]=d[s];d[s]=d[t];d[t]=w;countOfMove+=6;}
#define lswap6(p,q,r,s,t,u) {w=d[p];d[p]=d[q];d[q]=d[r];d[r]=d[s];d[s]=d[t];d[t]=d[u];d[u]=w;countOfMove+=7;}
 
int sort6l(unsigned int *d){
unsigned int w;
if(d[0]<=d[1]) if(d[2]<=d[3]) if(d[4]<=d[5]) if(d[0]<=d[2]) if(d[3]<=d[5]) if(d[1]<=d[3]) if(d[2]<=d[4]) if(d[1]<=d[2]) if(d[3]<=d[4]) {countOfCompare+=9;    return 0;}
	 else {countOfCompare+=9;	lswap2(3,4);}
	 else if(d[1]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(1,2);}
	 else {countOfCompare+=10;	lswap2(1,2);lswap2(3,4);}
	 else {countOfCompare+=9;	lswap4(1,2,4,3);}
	 else if(d[0]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap3(2,4,3);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(1,4,3,2);}
	 else {countOfCompare+=10;	lswap3(1,4,3);}
	 else if(d[1]<=d[2]) {countOfCompare+=9;	lswap5(0,4,3,2,1);}
	 else {countOfCompare+=9;	lswap4(0,4,3,1);}
	 else if(d[2]<=d[4]) if(d[1]<=d[5]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap3(1,2,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(1,2,3,4);}
	 else {countOfCompare+=10;	lswap3(1,2,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap5(1,2,3,4,5);}
	 else {countOfCompare+=9;	lswap4(1,2,4,5);}
	 else if(d[0]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap2(1,4);}
	 else {countOfCompare+=9;	lswap3(1,4,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap3(0,4,1);}
	 else {countOfCompare+=9;	lswap4(0,4,5,1);}
	 else if(d[2]<=d[5]) if(d[1]<=d[5]) if(d[1]<=d[2]) if(d[1]<=d[4]) if(d[2]<=d[4]) {countOfCompare+=10;	lswap3(3,4,5);}
	 else {countOfCompare+=10;	lswap4(2,4,5,3);}
	 else if(d[0]<=d[4]) {countOfCompare+=10;	lswap5(1,4,5,3,2);}
	 else {countOfCompare+=10;	lswap6(0,4,5,3,2,1);}
	 else if(d[2]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=10;	lswap2(1,2);lswap3(3,4,5);}
	 else {countOfCompare+=10;	lswap5(1,2,4,5,3);}
	 else if(d[0]<=d[4]) {countOfCompare+=10;	lswap4(1,4,5,3);}
	 else {countOfCompare+=10;	lswap5(0,4,5,3,1);}
	 else if(d[1]<=d[3]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap3(1,2,4);lswap2(3,5);}
	 else if(d[0]<=d[4]) {countOfCompare+=10;	lswap2(1,4);lswap2(3,5);}
	 else {countOfCompare+=10;	lswap3(0,4,1);lswap2(3,5);}
	 else if(d[2]<=d[4]) {countOfCompare+=9;	lswap5(1,2,4,3,5);}
	 else if(d[0]<=d[4]) {countOfCompare+=10;	lswap4(1,4,3,5);}
	 else {countOfCompare+=10;	lswap5(0,4,3,5,1);}
	 else if(d[1]<=d[2]) if(d[0]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap2(2,4);lswap2(3,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap3(1,4,2);lswap2(3,5);}
	 else {countOfCompare+=10;	lswap5(1,4,2,5,3);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap4(0,4,2,1);lswap2(3,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,4,2,5,3,1);}
	 else {countOfCompare+=10;	lswap3(0,4,2);lswap3(1,5,3);}
	 else if(d[1]<=d[3]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap2(1,4);lswap3(2,5,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,4,1);lswap3(2,5,3);}
	 else {countOfCompare+=10;	lswap6(0,4,1,5,3,2);}
	 else if(d[0]<=d[4]) {countOfCompare+=9;	lswap5(1,4,3,2,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,4,3,2,5,1);}
	 else {countOfCompare+=10;	lswap4(0,4,3,2);lswap2(1,5);}
	 else if(d[3]<=d[5]) if(d[0]<=d[3]) if(d[0]<=d[4]) if(d[3]<=d[4]) if(d[1]<=d[4]) if(d[1]<=d[3]) {countOfCompare+=10;	lswap3(0,2,1);}
	 else {countOfCompare+=10;	lswap4(0,2,3,1);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap5(0,2,3,4,1);}
	 else {countOfCompare+=10;	lswap6(0,2,3,4,5,1);}
	 else if(d[1]<=d[3]) if(d[1]<=d[4]) {countOfCompare+=10;	lswap3(0,2,1);lswap2(3,4);}
	 else {countOfCompare+=10;	lswap5(0,2,4,3,1);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap4(0,2,4,1);}
	 else {countOfCompare+=10;	lswap5(0,2,4,5,1);}
	 else if(d[2]<=d[4]) if(d[1]<=d[3]) {countOfCompare+=9;	lswap2(0,2);lswap3(1,4,3);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap2(0,2);lswap2(1,4);}
	 else {countOfCompare+=10;	lswap2(0,2);lswap3(1,4,5);}
	 else if(d[1]<=d[3]) {countOfCompare+=9;	lswap5(0,4,3,1,2);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap4(0,4,1,2);}
	 else {countOfCompare+=10;	lswap5(0,4,5,1,2);}
	 else if(d[3]<=d[4]) if(d[0]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap2(0,2);lswap2(1,3);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap2(0,2);lswap3(1,3,4);}
	 else {countOfCompare+=10;	lswap2(0,2);lswap4(1,3,4,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap5(0,2,4,1,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,2,4,5,1,3);}
	 else {countOfCompare+=10;	lswap3(0,2,4);lswap3(1,3,5);}
	 else if(d[2]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap3(0,2,3);lswap2(1,4);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,2,3);lswap3(1,4,5);}
	 else {countOfCompare+=10;	lswap6(0,2,3,5,1,4);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap5(0,4,1,2,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,4,5,1,2,3);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap4(1,2,3,5);}
	 else if(d[1]<=d[3]) if(d[2]<=d[4]) if(d[0]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap3(0,2,1);lswap3(3,4,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap6(0,2,4,5,3,1);}
	 else {countOfCompare+=10;	lswap4(0,2,4,1);lswap2(3,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap2(0,2);lswap4(1,4,5,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,2);lswap2(1,4);lswap2(3,5);}
	 else {countOfCompare+=10;	lswap4(0,2,5,3);lswap2(1,4);}
	 else if(d[0]<=d[5]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap6(0,4,5,3,1,2);}
	 else {countOfCompare+=9;	lswap4(0,4,1,2);lswap2(3,5);}
	 else if(d[2]<=d[5]) {countOfCompare+=9;	lswap6(0,4,1,2,5,3);}
	 else {countOfCompare+=9;	lswap5(0,4,1,5,3);}
	 else if(d[2]<=d[4]) if(d[0]<=d[5]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap6(0,2,4,3,5,1);}
	 else {countOfCompare+=9;	lswap2(0,2);lswap4(1,4,3,5);}
	 else if(d[0]<=d[3]) {countOfCompare+=9;	lswap6(0,2,5,1,4,3);}
	 else {countOfCompare+=9;	lswap5(0,2,5,1,4);}
	 else if(d[0]<=d[3]) if(d[2]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,4,3,5,1,2);}
	 else {countOfCompare+=10;	lswap3(0,4,3);lswap3(1,2,5);}
	 else {countOfCompare+=9;	lswap3(0,4,3);lswap2(1,5);}
	 else if(d[2]<=d[5]) {countOfCompare+=9;	lswap2(0,4);lswap3(1,2,5);}
	 else {countOfCompare+=9;	lswap2(0,4);lswap2(1,5);}
	 else if(d[0]<=d[2]) if(d[1]<=d[4]) if(d[1]<=d[2]) if(d[1]<=d[5]) if(d[2]<=d[5]) if(d[3]<=d[5]) {countOfCompare+=9;	lswap2(4,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(3,5,4);}
	 else {countOfCompare+=10;	lswap2(3,5);}
	 else if(d[2]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(2,5,4,3);}
	 else {countOfCompare+=10;	lswap3(2,5,3);}
	 else {countOfCompare+=9;	lswap4(2,5,3,4);}
	 else if(d[0]<=d[5]) if(d[2]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap5(1,5,4,3,2);}
	 else {countOfCompare+=10;	lswap4(1,5,3,2);}
	 else {countOfCompare+=9;	lswap5(1,5,3,4,2);}
	 else if(d[2]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap6(0,5,4,3,2,1);}
	 else {countOfCompare+=10;	lswap5(0,5,3,2,1);}
	 else {countOfCompare+=9;	lswap6(0,5,3,4,2,1);}
	 else if(d[2]<=d[5]) if(d[1]<=d[5]) if(d[3]<=d[5]) if(d[1]<=d[3]) {countOfCompare+=10;	lswap2(1,2);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap3(1,2,3);lswap2(4,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(1,2);lswap3(3,5,4);}
	 else {countOfCompare+=10;	lswap2(1,2);lswap2(3,5);}
	 else if(d[1]<=d[3]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap5(1,2,5,4,3);}
	 else {countOfCompare+=10;	lswap4(1,2,5,3);}
	 else if(d[3]<=d[5]) {countOfCompare+=10;	lswap5(1,2,3,5,4);}
	 else {countOfCompare+=10;	lswap4(1,2,5,4);}
	 else if(d[0]<=d[5]) if(d[1]<=d[3]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(1,5,4,3);}
	 else {countOfCompare+=10;	lswap3(1,5,3);}
	 else {countOfCompare+=9;	lswap3(1,5,4);}
	 else if(d[1]<=d[3]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap5(0,5,4,3,1);}
	 else {countOfCompare+=10;	lswap4(0,5,3,1);}
	 else {countOfCompare+=9;	lswap4(0,5,4,1);}
	 else if(d[1]<=d[3]) if(d[0]<=d[5]) if(d[2]<=d[4]) if(d[2]<=d[5]) {countOfCompare+=9;	lswap5(1,2,5,3,4);}
	 else {countOfCompare+=9;	lswap4(1,5,3,4);}
	 else if(d[1]<=d[2]) {countOfCompare+=9;	lswap3(1,5,3);lswap2(2,4);}
	 else {countOfCompare+=9;	lswap5(1,5,3,2,4);}
	 else if(d[0]<=d[4]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap5(0,5,3,4,1);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(0,5,3,1);lswap2(2,4);}
	 else {countOfCompare+=10;	lswap6(0,5,3,2,4,1);}
	 else if(d[1]<=d[2]) {countOfCompare+=9;	lswap6(0,5,3,1,4,2);}
	 else {countOfCompare+=9;	lswap4(0,5,3,2);lswap2(1,4);}
	 else if(d[0]<=d[5]) if(d[2]<=d[5]) if(d[3]<=d[5]) {countOfCompare+=9;	lswap4(1,2,3,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(1,2,5);}
	 else {countOfCompare+=10;	lswap3(1,2,5);lswap2(3,4);}
	 else if(d[2]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(1,5);}
	 else {countOfCompare+=10;	lswap2(1,5);lswap2(3,4);}
	 else {countOfCompare+=9;	lswap2(1,5);lswap3(2,4,3);}
	 else if(d[2]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=9;	lswap3(0,5,1);}
	 else {countOfCompare+=9;	lswap3(0,5,1);lswap2(3,4);}
	 else if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(0,5,1);lswap3(2,4,3);}
	 else {countOfCompare+=9;	lswap6(0,5,1,4,3,2);}
	 else if(d[1]<=d[4]) if(d[1]<=d[3]) if(d[0]<=d[5]) if(d[1]<=d[5]) if(d[3]<=d[5]) {countOfCompare+=9;	lswap3(0,2,1);lswap2(4,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(0,2,1);lswap3(3,5,4);}
	 else {countOfCompare+=10;	lswap3(0,2,1);lswap2(3,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap6(0,2,5,4,3,1);}
	 else {countOfCompare+=9;	lswap5(0,2,5,3,1);}
	 else if(d[2]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=9;	lswap2(0,2);lswap4(1,5,4,3);}
	 else {countOfCompare+=9;	lswap2(0,2);lswap3(1,5,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap6(0,5,4,3,1,2);}
	 else {countOfCompare+=9;	lswap5(0,5,3,1,2);}
	 else if(d[3]<=d[5]) if(d[0]<=d[3]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap4(0,2,3,1);lswap2(4,5);}
	 else {countOfCompare+=9;	lswap6(0,2,3,5,4,1);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap2(0,2);lswap2(1,3);lswap2(4,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,2);lswap4(1,3,5,4);}
	 else {countOfCompare+=10;	lswap6(0,2,5,4,1,3);}
	 else if(d[0]<=d[3]) if(d[2]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,2,5,4,1);}
	 else {countOfCompare+=10;	lswap2(0,2);lswap3(1,5,4);}
	 else {countOfCompare+=9;	lswap5(0,5,4,1,2);}
	 else if(d[2]<=d[5]) {countOfCompare+=9;	lswap3(0,2,3);lswap3(1,5,4);}
	 else {countOfCompare+=9;	lswap6(0,5,4,1,2,3);}
	 else if(d[0]<=d[4]) if(d[3]<=d[4]) if(d[0]<=d[3]) if(d[0]<=d[5]) if(d[3]<=d[5]) {countOfCompare+=10;	lswap5(0,2,3,5,1);}
	 else {countOfCompare+=10;	lswap4(0,2,5,1);}
	 else if(d[2]<=d[5]) {countOfCompare+=10;	lswap2(0,2);lswap2(1,5);}
	 else {countOfCompare+=10;	lswap4(0,5,1,2);}
	 else if(d[3]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,2);lswap3(1,3,5);}
	 else {countOfCompare+=10;	lswap5(0,2,5,1,3);}
	 else if(d[2]<=d[5]) {countOfCompare+=10;	lswap3(0,2,3);lswap2(1,5);}
	 else {countOfCompare+=10;	lswap5(0,5,1,2,3);}
	 else if(d[1]<=d[3]) if(d[2]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,2,5,3,4,1);}
	 else {countOfCompare+=10;	lswap2(0,2);lswap4(1,5,3,4);}
	 else {countOfCompare+=9;	lswap6(0,5,3,4,1,2);}
	 else if(d[2]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,2,5,1);lswap2(3,4);}
	 else {countOfCompare+=10;	lswap2(0,2);lswap2(1,5);lswap2(3,4);}
	 else {countOfCompare+=9;	lswap4(0,5,1,2);lswap2(3,4);}
	 else if(d[0]<=d[3]) if(d[1]<=d[3]) if(d[2]<=d[4]) if(d[2]<=d[5]) {countOfCompare+=10;	lswap6(0,2,4,1,5,3);}
	 else {countOfCompare+=10;	lswap3(0,5,3);lswap3(1,2,4);}
	 else {countOfCompare+=9;	lswap3(0,5,3);lswap2(1,4);}
	 else if(d[2]<=d[4]) if(d[2]<=d[5]) {countOfCompare+=10;	lswap4(0,2,4,3);lswap2(1,5);}
	 else {countOfCompare+=10;	lswap6(0,5,1,2,4,3);}
	 else {countOfCompare+=9;	lswap5(0,5,1,4,3);}
	 else if(d[2]<=d[5]) if(d[3]<=d[5]) {countOfCompare+=9;	lswap6(0,2,5,1,3,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(0,2,3,4);lswap2(1,5);}
	 else {countOfCompare+=10;	lswap3(0,2,4);lswap2(1,5);}
	 else if(d[2]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap6(0,5,1,2,3,4);}
	 else {countOfCompare+=10;	lswap5(0,5,1,2,4);}
	 else {countOfCompare+=9;	lswap4(0,5,1,4);}
	 else if(d[4]<=d[5]) if(d[0]<=d[3]) if(d[2]<=d[5]) if(d[1]<=d[2]) if(d[1]<=d[3]) if(d[1]<=d[4]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap2(2,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(2,3,4);}
	 else {countOfCompare+=10;	lswap2(2,4);}
	 else if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(1,4,2);}
	 else {countOfCompare+=9;	lswap4(0,4,2,1);}
	 else if(d[1]<=d[4]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap3(1,3,2);}
	 else {countOfCompare+=9;	lswap4(1,3,4,2);}
	 else if(d[0]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(1,3);lswap2(2,4);}
	 else {countOfCompare+=10;	lswap4(1,4,2,3);}
	 else {countOfCompare+=9;	lswap5(0,4,2,3,1);}
	 else if(d[1]<=d[5]) if(d[2]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap2(1,3);}
	 else {countOfCompare+=9;	lswap3(1,3,4);}
	 else if(d[0]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(1,3,2,4);}
	 else {countOfCompare+=10;	lswap2(1,4);lswap2(2,3);}
	 else {countOfCompare+=9;	lswap3(0,4,1);lswap2(2,3);}
	 else if(d[3]<=d[4]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap4(1,3,4,5);}
	 else {countOfCompare+=9;	lswap5(1,3,2,4,5);}
	 else if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(1,4,5);lswap2(2,3);}
	 else {countOfCompare+=9;	lswap4(0,4,5,1);lswap2(2,3);}
	 else if(d[3]<=d[5]) if(d[1]<=d[5]) if(d[1]<=d[3]) if(d[1]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(2,3,4,5);}
	 else {countOfCompare+=10;	lswap3(2,4,5);}
	 else if(d[0]<=d[4]) {countOfCompare+=10;	lswap4(1,4,5,2);}
	 else {countOfCompare+=10;	lswap5(0,4,5,2,1);}
	 else if(d[3]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=10;	lswap5(1,3,4,5,2);}
	 else {countOfCompare+=10;	lswap2(1,3);lswap3(2,4,5);}
	 else if(d[0]<=d[4]) {countOfCompare+=10;	lswap5(1,4,5,2,3);}
	 else {countOfCompare+=10;	lswap6(0,4,5,2,3,1);}
	 else if(d[1]<=d[2]) if(d[0]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap5(1,3,5,2,4);}
	 else {countOfCompare+=10;	lswap2(1,4);lswap3(2,3,5);}
	 else {countOfCompare+=9;	lswap3(0,4,1);lswap3(2,3,5);}
	 else if(d[0]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(1,3,5);lswap2(2,4);}
	 else {countOfCompare+=10;	lswap5(1,4,2,3,5);}
	 else {countOfCompare+=9;	lswap6(0,4,2,3,5,1);}
	 else if(d[1]<=d[3]) if(d[0]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap4(2,4,3,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap5(1,4,3,5,2);}
	 else {countOfCompare+=10;	lswap3(1,4,3);lswap2(2,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap6(0,4,3,5,2,1);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,4,3,1);lswap2(2,5);}
	 else {countOfCompare+=10;	lswap6(0,4,3,1,5,2);}
	 else if(d[1]<=d[2]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap2(1,4);lswap2(2,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,4,1);lswap2(2,5);}
	 else {countOfCompare+=10;	lswap5(0,4,1,5,2);}
	 else if(d[0]<=d[4]) {countOfCompare+=9;	lswap4(1,4,2,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,4,2,5,1);}
	 else {countOfCompare+=10;	lswap3(0,4,2);lswap2(1,5);}
	 else if(d[2]<=d[5]) if(d[0]<=d[2]) if(d[0]<=d[4]) if(d[2]<=d[4]) if(d[1]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(0,3,2,1);}
	 else {countOfCompare+=10;	lswap3(0,3,1);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap4(0,3,4,1);}
	 else {countOfCompare+=10;	lswap5(0,3,4,5,1);}
	 else if(d[1]<=d[2]) if(d[1]<=d[4]) {countOfCompare+=10;	lswap5(0,3,4,2,1);}
	 else {countOfCompare+=10;	lswap3(0,3,1);lswap2(2,4);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap5(0,3,2,4,1);}
	 else {countOfCompare+=10;	lswap6(0,3,2,4,5,1);}
	 else if(d[3]<=d[4]) if(d[1]<=d[5]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap5(0,3,1,4,2);}
	 else {countOfCompare+=10;	lswap3(0,3,2);lswap2(1,4);}
	 else {countOfCompare+=9;	lswap3(0,3,2);lswap3(1,4,5);}
	 else if(d[1]<=d[5]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap3(0,4,2);lswap2(1,3);}
	 else {countOfCompare+=10;	lswap5(0,4,1,3,2);}
	 else {countOfCompare+=9;	lswap6(0,4,5,1,3,2);}
	 else if(d[2]<=d[4]) if(d[0]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap4(0,3,1,2);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap5(0,3,4,1,2);}
	 else {countOfCompare+=10;	lswap6(0,3,4,5,1,2);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap2(0,3);lswap3(1,2,4);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,3);lswap4(1,2,4,5);}
	 else {countOfCompare+=10;	lswap6(0,3,5,1,2,4);}
	 else if(d[3]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap2(0,3);lswap2(1,4);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,3);lswap3(1,4,5);}
	 else {countOfCompare+=10;	lswap5(0,3,5,1,4);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap4(0,4,1,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,4,5,1,3);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap3(1,3,5);}
	 else if(d[0]<=d[5]) if(d[0]<=d[4]) if(d[1]<=d[5]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap6(0,3,4,5,2,1);}
	 else {countOfCompare+=9;	lswap3(0,3,1);lswap3(2,4,5);}
	 else if(d[1]<=d[2]) {countOfCompare+=9;	lswap6(0,3,5,2,4,1);}
	 else {countOfCompare+=9;	lswap4(0,3,5,1);lswap2(2,4);}
	 else if(d[3]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap6(0,3,1,4,5,2);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(0,3,5,2);lswap2(1,4);}
	 else {countOfCompare+=10;	lswap6(0,3,5,1,4,2);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap4(0,4,5,2);lswap2(1,3);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap6(0,4,1,3,5,2);}
	 else {countOfCompare+=10;	lswap3(0,4,2);lswap3(1,3,5);}
	 else if(d[0]<=d[2]) if(d[1]<=d[2]) if(d[3]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,3);lswap2(1,4);lswap2(2,5);}
	 else {countOfCompare+=10;	lswap4(0,4,1,3);lswap2(2,5);}
	 else {countOfCompare+=9;	lswap6(0,4,1,5,2,3);}
	 else if(d[3]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,3);lswap4(1,4,2,5);}
	 else {countOfCompare+=10;	lswap6(0,4,2,5,1,3);}
	 else {countOfCompare+=9;	lswap4(0,4,2,3);lswap2(1,5);}
	 else if(d[3]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=9;	lswap6(0,3,2,5,1,4);}
	 else {countOfCompare+=9;	lswap2(0,4);lswap4(1,3,2,5);}
	 else {countOfCompare+=8;	lswap2(0,4);lswap2(1,5);lswap2(2,3);}
	 else if(d[2]<=d[4]) if(d[0]<=d[3]) if(d[3]<=d[5]) if(d[2]<=d[5]) if(d[1]<=d[5]) if(d[1]<=d[3]) {countOfCompare+=9;	lswap2(2,3);lswap2(4,5);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap3(1,3,2);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap2(1,3);lswap2(4,5);}
	 else if(d[1]<=d[4]) {countOfCompare+=9;	lswap4(1,3,5,4);}
	 else {countOfCompare+=9;	lswap3(1,3,5);}
	 else if(d[1]<=d[5]) if(d[1]<=d[3]) {countOfCompare+=9;	lswap4(2,3,5,4);}
	 else {countOfCompare+=9;	lswap5(1,3,5,4,2);}
	 else if(d[1]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap2(1,3);lswap3(2,5,4);}
	 else {countOfCompare+=10;	lswap5(1,3,2,5,4);}
	 else {countOfCompare+=9;	lswap4(1,3,2,5);}
	 else if(d[0]<=d[5]) if(d[1]<=d[3]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap3(2,5,4);}
	 else {countOfCompare+=9;	lswap4(1,5,4,2);}
	 else if(d[1]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap5(1,5,4,2,3);}
	 else {countOfCompare+=10;	lswap3(1,5,4);lswap2(2,3);}
	 else {countOfCompare+=9;	lswap2(1,5);lswap2(2,3);}
	 else if(d[1]<=d[2]) if(d[1]<=d[3]) {countOfCompare+=9;	lswap5(0,5,4,2,1);}
	 else {countOfCompare+=9;	lswap6(0,5,4,2,3,1);}
	 else if(d[1]<=d[4]) {countOfCompare+=9;	lswap4(0,5,4,1);lswap2(2,3);}
	 else {countOfCompare+=9;	lswap3(0,5,1);lswap2(2,3);}
	 else if(d[0]<=d[2]) if(d[0]<=d[5]) if(d[2]<=d[5]) if(d[1]<=d[5]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(0,3,2,1);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap3(0,3,1);lswap2(4,5);}
	 else if(d[1]<=d[4]) {countOfCompare+=10;	lswap5(0,3,5,4,1);}
	 else {countOfCompare+=10;	lswap4(0,3,5,1);}
	 else if(d[1]<=d[2]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap6(0,3,5,4,2,1);}
	 else {countOfCompare+=10;	lswap3(0,3,1);lswap3(2,5,4);}
	 else if(d[1]<=d[4]) {countOfCompare+=10;	lswap6(0,3,2,5,4,1);}
	 else {countOfCompare+=10;	lswap5(0,3,2,5,1);}
	 else if(d[3]<=d[5]) if(d[1]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap6(0,3,1,5,4,2);}
	 else {countOfCompare+=10;	lswap3(0,3,2);lswap3(1,5,4);}
	 else {countOfCompare+=9;	lswap3(0,3,2);lswap2(1,5);}
	 else if(d[1]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(0,5,4,2);lswap2(1,3);}
	 else {countOfCompare+=10;	lswap6(0,5,4,1,3,2);}
	 else {countOfCompare+=9;	lswap5(0,5,1,3,2);}
	 else if(d[2]<=d[5]) if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap4(0,3,1,2);lswap2(4,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,3,5,4,1,2);}
	 else {countOfCompare+=10;	lswap2(0,3);lswap4(1,2,5,4);}
	 else if(d[0]<=d[4]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,3,5,1,2);}
	 else {countOfCompare+=10;	lswap2(0,3);lswap3(1,2,5);}
	 else {countOfCompare+=9;	lswap3(0,3,4);lswap3(1,2,5);}
	 else if(d[3]<=d[5]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap2(0,3);lswap3(1,5,4);}
	 else if(d[0]<=d[4]) {countOfCompare+=10;	lswap2(0,3);lswap2(1,5);}
	 else {countOfCompare+=10;	lswap3(0,3,4);lswap2(1,5);}
	 else if(d[1]<=d[4]) {countOfCompare+=9;	lswap5(0,5,4,1,3);}
	 else if(d[0]<=d[4]) {countOfCompare+=10;	lswap4(0,5,1,3);}
	 else {countOfCompare+=10;	lswap5(0,5,1,3,4);}
	 else if(d[0]<=d[3]) if(d[3]<=d[4]) if(d[1]<=d[4]) if(d[1]<=d[3]) if(d[1]<=d[5]) if(d[3]<=d[5]) {countOfCompare+=10;	lswap3(2,3,5);}
	 else {countOfCompare+=10;	lswap2(2,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(1,5,2);}
	 else {countOfCompare+=10;	lswap4(0,5,2,1);}
	 else if(d[3]<=d[5]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap4(1,3,5,2);}
	 else {countOfCompare+=10;	lswap2(1,3);lswap2(2,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(1,5,2,3);}
	 else {countOfCompare+=10;	lswap5(0,5,2,3,1);}
	 else if(d[1]<=d[2]) if(d[3]<=d[5]) {countOfCompare+=9;	lswap3(1,3,4);lswap2(2,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(1,5,2,3,4);}
	 else {countOfCompare+=10;	lswap6(0,5,2,3,4,1);}
	 else if(d[3]<=d[5]) {countOfCompare+=9;	lswap5(1,3,4,2,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(1,5);lswap3(2,3,4);}
	 else {countOfCompare+=10;	lswap3(0,5,1);lswap3(2,3,4);}
	 else if(d[1]<=d[3]) if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap2(2,5);lswap2(3,4);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(1,5,2);lswap2(3,4);}
	 else {countOfCompare+=10;	lswap4(0,5,2,1);lswap2(3,4);}
	 else if(d[0]<=d[4]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(1,5,2,4,3);}
	 else {countOfCompare+=10;	lswap6(0,5,2,4,3,1);}
	 else {countOfCompare+=9;	lswap3(0,5,2);lswap3(1,4,3);}
	 else if(d[1]<=d[2]) if(d[0]<=d[4]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(1,5,2,4);}
	 else {countOfCompare+=10;	lswap5(0,5,2,4,1);}
	 else {countOfCompare+=9;	lswap3(0,5,2);lswap2(1,4);}
	 else if(d[0]<=d[4]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(1,5);lswap2(2,4);}
	 else {countOfCompare+=10;	lswap3(0,5,1);lswap2(2,4);}
	 else {countOfCompare+=9;	lswap5(0,5,1,4,2);}
	 else if(d[3]<=d[5]) if(d[0]<=d[5]) if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap5(0,3,5,2,1);}
	 else {countOfCompare+=9;	lswap3(0,3,1);lswap2(2,5);}
	 else if(d[1]<=d[2]) {countOfCompare+=9;	lswap4(0,3,4,1);lswap2(2,5);}
	 else {countOfCompare+=9;	lswap6(0,3,4,2,5,1);}
	 else if(d[0]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap5(0,3,1,5,2);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap6(0,3,4,1,5,2);}
	 else {countOfCompare+=10;	lswap4(0,3,4,2);lswap2(1,5);}
	 else if(d[0]<=d[2]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap2(0,3);lswap4(1,5,2,4);}
	 else {countOfCompare+=10;	lswap2(0,3);lswap2(1,5);lswap2(2,4);}
	 else {countOfCompare+=9;	lswap4(0,3,2,4);lswap2(1,5);}
	 else if(d[1]<=d[2]) if(d[0]<=d[4]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap3(0,5,2);lswap2(1,3);}
	 else {countOfCompare+=9;	lswap3(0,5,2);lswap3(1,3,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap6(0,5,2,4,1,3);}
	 else {countOfCompare+=9;	lswap4(0,5,2,3);lswap2(1,4);}
	 else if(d[0]<=d[2]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap6(0,5,1,3,4,2);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(0,5,1,3);lswap2(2,4);}
	 else {countOfCompare+=10;	lswap6(0,5,1,4,2,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap6(0,5,1,3,2,4);}
	 else {countOfCompare+=9;	lswap4(0,5,1,4);lswap2(2,3);}
	 else if(d[2]<=d[3]) if(d[4]<=d[5]) if(d[2]<=d[4]) if(d[0]<=d[3]) if(d[3]<=d[5]) if(d[1]<=d[2]) if(d[0]<=d[2]) if(d[3]<=d[4]) {countOfCompare+=9;	lswap2(0,1);}
	 else {countOfCompare+=9;	lswap2(0,1);lswap2(3,4);}
	 else if(d[0]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(0,1,2);}
	 else {countOfCompare+=10;	lswap3(0,1,2);lswap2(3,4);}
	 else {countOfCompare+=9;	lswap5(0,1,2,4,3);}
	 else if(d[0]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=9;	lswap2(0,2);}
	 else {countOfCompare+=9;	lswap2(0,2);lswap2(3,4);}
	 else if(d[1]<=d[4]) {countOfCompare+=9;	lswap4(0,2,4,3);}
	 else {countOfCompare+=9;	lswap5(0,2,1,4,3);}
	 else if(d[0]<=d[5]) if(d[0]<=d[4]) if(d[0]<=d[2]) {countOfCompare+=9;	lswap2(0,1);lswap3(3,4,5);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap3(0,1,2);lswap3(3,4,5);}
	 else {countOfCompare+=10;	lswap2(0,2);lswap3(3,4,5);}
	 else if(d[1]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap6(0,1,2,4,5,3);}
	 else {countOfCompare+=10;	lswap5(0,2,4,5,3);}
	 else {countOfCompare+=9;	lswap6(0,2,1,4,5,3);}
	 else if(d[1]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=9;	lswap4(0,1,2,4);lswap2(3,5);}
	 else {countOfCompare+=9;	lswap3(0,2,4);lswap2(3,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap4(0,2,1,4);lswap2(3,5);}
	 else {countOfCompare+=9;	lswap6(0,2,5,3,1,4);}
	 else if(d[3]<=d[4]) if(d[1]<=d[3]) if(d[1]<=d[2]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap4(0,1,2,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,1,2,3,4);}
	 else {countOfCompare+=10;	lswap6(0,1,2,3,4,5);}
	 else if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(0,2,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,2,3,4);}
	 else {countOfCompare+=10;	lswap5(0,2,3,4,5);}
	 else if(d[1]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap4(0,2,1,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,2,1,3,4);}
	 else {countOfCompare+=10;	lswap6(0,2,1,3,4,5);}
	 else if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,2,4);lswap2(1,3);}
	 else {countOfCompare+=10;	lswap4(0,2,4,5);lswap2(1,3);}
	 else {countOfCompare+=9;	lswap6(0,2,4,1,3,5);}
	 else if(d[1]<=d[4]) if(d[1]<=d[2]) if(d[3]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,1,2,4);}
	 else {countOfCompare+=10;	lswap5(0,1,2,4,5);}
	 else {countOfCompare+=9;	lswap6(0,1,2,4,3,5);}
	 else if(d[3]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,2,4);}
	 else {countOfCompare+=10;	lswap4(0,2,4,5);}
	 else {countOfCompare+=9;	lswap5(0,2,4,3,5);}
	 else if(d[1]<=d[3]) if(d[3]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,2,1,4);}
	 else {countOfCompare+=10;	lswap5(0,2,1,4,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap6(0,2,1,4,3,5);}
	 else {countOfCompare+=10;	lswap3(0,2,5);lswap3(1,4,3);}
	 else if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,2,3,1,4);}
	 else {countOfCompare+=10;	lswap6(0,2,3,1,4,5);}
	 else if(d[3]<=d[5]) {countOfCompare+=10;	lswap4(0,2,3,5);lswap2(1,4);}
	 else {countOfCompare+=10;	lswap3(0,2,5);lswap2(1,4);}
	 else if(d[0]<=d[3]) if(d[0]<=d[2]) if(d[2]<=d[5]) if(d[3]<=d[5]) if(d[1]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=10;	lswap2(0,1);lswap3(2,4,3);}
	 else {countOfCompare+=10;	lswap5(0,1,4,3,2);}
	 else {countOfCompare+=9;	lswap4(0,4,3,2);}
	 else if(d[1]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=10;	lswap2(0,1);lswap4(2,4,5,3);}
	 else {countOfCompare+=10;	lswap6(0,1,4,5,3,2);}
	 else {countOfCompare+=9;	lswap5(0,4,5,3,2);}
	 else if(d[1]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap2(0,1);lswap2(2,4);lswap2(3,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,1,4,2);lswap2(3,5);}
	 else {countOfCompare+=10;	lswap6(0,1,4,2,5,3);}
	 else if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,4,2);lswap2(3,5);}
	 else {countOfCompare+=10;	lswap5(0,4,2,5,3);}
	 else {countOfCompare+=9;	lswap6(0,4,2,1,5,3);}
	 else if(d[0]<=d[5]) if(d[3]<=d[5]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap4(0,1,4,3);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap3(0,4,3);}
	 else {countOfCompare+=10;	lswap3(0,4,3);lswap2(1,2);}
	 else if(d[1]<=d[4]) {countOfCompare+=9;	lswap5(0,1,4,5,3);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(0,4,5,3);}
	 else {countOfCompare+=10;	lswap4(0,4,5,3);lswap2(1,2);}
	 else if(d[2]<=d[5]) if(d[1]<=d[2]) if(d[1]<=d[4]) {countOfCompare+=10;	lswap3(0,1,4);lswap2(3,5);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap2(3,5);}
	 else if(d[1]<=d[5]) {countOfCompare+=10;	lswap2(0,4);lswap2(1,2);lswap2(3,5);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap4(1,2,5,3);}
	 else if(d[1]<=d[5]) if(d[1]<=d[4]) {countOfCompare+=10;	lswap3(0,1,4);lswap3(2,5,3);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap3(2,5,3);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap2(0,4);lswap4(1,5,3,2);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap3(1,5,3);}
	 else if(d[3]<=d[5]) if(d[0]<=d[5]) if(d[1]<=d[2]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap3(0,1,4);}
	 else {countOfCompare+=9;	lswap2(0,4);}
	 else if(d[1]<=d[3]) {countOfCompare+=9;	lswap2(0,4);lswap2(1,2);}
	 else {countOfCompare+=9;	lswap2(0,4);lswap3(1,2,3);}
	 else if(d[1]<=d[3]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap4(0,1,4,5);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap3(0,4,5);}
	 else {countOfCompare+=10;	lswap3(0,4,5);lswap2(1,2);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap3(0,4,5);lswap3(1,2,3);}
	 else {countOfCompare+=9;	lswap6(0,4,1,2,3,5);}
	 else if(d[2]<=d[5]) if(d[1]<=d[5]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap5(0,1,4,3,5);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(0,4,3,5);}
	 else {countOfCompare+=10;	lswap4(0,4,3,5);lswap2(1,2);}
	 else if(d[1]<=d[3]) {countOfCompare+=9;	lswap6(0,4,3,1,2,5);}
	 else {countOfCompare+=9;	lswap5(0,4,1,2,5);}
	 else if(d[1]<=d[5]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap6(0,1,4,3,2,5);}
	 else {countOfCompare+=9;	lswap5(0,4,3,2,5);}
	 else if(d[1]<=d[3]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap6(0,4,3,2,1,5);}
	 else {countOfCompare+=10;	lswap5(0,4,3,1,5);}
	 else {countOfCompare+=9;	lswap4(0,4,1,5);}
	 else if(d[0]<=d[3]) if(d[2]<=d[5]) if(d[0]<=d[5]) if(d[0]<=d[2]) if(d[3]<=d[5]) {countOfCompare+=8;	lswap2(0,1);lswap2(4,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap2(0,1);lswap3(3,5,4);}
	 else {countOfCompare+=9;	lswap2(0,1);lswap2(3,5);}
	 else if(d[1]<=d[2]) if(d[3]<=d[5]) {countOfCompare+=9;	lswap3(0,1,2);lswap2(4,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(0,1,2);lswap3(3,5,4);}
	 else {countOfCompare+=10;	lswap3(0,1,2);lswap2(3,5);}
	 else if(d[3]<=d[5]) {countOfCompare+=9;	lswap2(0,2);lswap2(4,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,2);lswap3(3,5,4);}
	 else {countOfCompare+=10;	lswap2(0,2);lswap2(3,5);}
	 else if(d[0]<=d[4]) if(d[3]<=d[4]) if(d[1]<=d[5]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap6(0,1,2,5,4,3);}
	 else {countOfCompare+=10;	lswap5(0,2,5,4,3);}
	 else {countOfCompare+=9;	lswap6(0,2,1,5,4,3);}
	 else if(d[1]<=d[5]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap5(0,1,2,5,3);}
	 else {countOfCompare+=10;	lswap4(0,2,5,3);}
	 else {countOfCompare+=9;	lswap5(0,2,1,5,3);}
	 else if(d[1]<=d[5]) if(d[1]<=d[2]) {countOfCompare+=9;	lswap6(0,1,2,5,3,4);}
	 else {countOfCompare+=9;	lswap5(0,2,5,3,4);}
	 else if(d[1]<=d[4]) {countOfCompare+=9;	lswap6(0,2,1,5,3,4);}
	 else {countOfCompare+=9;	lswap3(0,2,4);lswap3(1,5,3);}
	 else if(d[0]<=d[2]) if(d[2]<=d[4]) if(d[3]<=d[4]) if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,1);lswap4(2,5,4,3);}
	 else {countOfCompare+=10;	lswap6(0,1,5,4,3,2);}
	 else {countOfCompare+=9;	lswap5(0,5,4,3,2);}
	 else if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,1);lswap3(2,5,3);}
	 else {countOfCompare+=10;	lswap5(0,1,5,3,2);}
	 else {countOfCompare+=9;	lswap4(0,5,3,2);}
	 else if(d[0]<=d[4]) if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,1);lswap4(2,5,3,4);}
	 else {countOfCompare+=10;	lswap6(0,1,5,3,4,2);}
	 else {countOfCompare+=9;	lswap5(0,5,3,4,2);}
	 else if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap4(0,1,5,3);lswap2(2,4);}
	 else {countOfCompare+=10;	lswap3(0,5,3);lswap2(2,4);}
	 else {countOfCompare+=9;	lswap3(0,5,3);lswap3(1,4,2);}
	 else if(d[0]<=d[4]) if(d[3]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap5(0,1,5,4,3);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap4(0,5,4,3);}
	 else {countOfCompare+=10;	lswap4(0,5,4,3);lswap2(1,2);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap4(0,1,5,3);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap3(0,5,3);}
	 else {countOfCompare+=10;	lswap3(0,5,3);lswap2(1,2);}
	 else if(d[2]<=d[4]) if(d[1]<=d[2]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap5(0,1,5,3,4);}
	 else {countOfCompare+=10;	lswap4(0,5,3,4);}
	 else if(d[1]<=d[4]) {countOfCompare+=10;	lswap4(0,5,3,4);lswap2(1,2);}
	 else {countOfCompare+=10;	lswap6(0,5,3,1,2,4);}
	 else if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap6(0,1,5,3,2,4);}
	 else {countOfCompare+=10;	lswap5(0,5,3,2,4);}
	 else if(d[1]<=d[2]) {countOfCompare+=10;	lswap6(0,5,3,2,1,4);}
	 else {countOfCompare+=10;	lswap5(0,5,3,1,4);}
	 else if(d[2]<=d[5]) if(d[3]<=d[5]) if(d[1]<=d[3]) if(d[1]<=d[2]) if(d[0]<=d[4]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,1,2,3);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap6(0,1,2,3,5,4);}
	 else {countOfCompare+=9;	lswap5(0,1,2,3,5);}
	 else if(d[0]<=d[4]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,2,3);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap5(0,2,3,5,4);}
	 else {countOfCompare+=9;	lswap4(0,2,3,5);}
	 else if(d[0]<=d[4]) if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,2,1,3);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap6(0,2,1,3,5,4);}
	 else {countOfCompare+=9;	lswap4(0,2,5,4);lswap2(1,3);}
	 else if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap5(0,2,1,3,5);}
	 else {countOfCompare+=10;	lswap3(0,2,5);lswap2(1,3);}
	 else {countOfCompare+=9;	lswap3(0,2,5);lswap3(1,3,4);}
	 else if(d[1]<=d[5]) if(d[1]<=d[2]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap5(0,1,2,5,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(0,1,2,5);}
	 else {countOfCompare+=10;	lswap4(0,1,2,5);lswap2(3,4);}
	 else if(d[0]<=d[4]) {countOfCompare+=9;	lswap4(0,2,5,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(0,2,5);}
	 else {countOfCompare+=10;	lswap3(0,2,5);lswap2(3,4);}
	 else if(d[1]<=d[3]) if(d[3]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=10;	lswap5(0,2,1,5,4);}
	 else {countOfCompare+=10;	lswap4(0,2,1,5);}
	 else if(d[1]<=d[4]) {countOfCompare+=10;	lswap4(0,2,1,5);lswap2(3,4);}
	 else {countOfCompare+=10;	lswap6(0,2,4,3,1,5);}
	 else if(d[1]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=10;	lswap6(0,2,3,1,5,4);}
	 else {countOfCompare+=10;	lswap5(0,2,3,1,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap6(0,2,3,4,1,5);}
	 else {countOfCompare+=10;	lswap5(0,2,4,1,5);}
	 else if(d[1]<=d[2]) if(d[1]<=d[5]) if(d[3]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap4(0,1,5,4);}
	 else {countOfCompare+=9;	lswap3(0,1,5);}
	 else if(d[2]<=d[4]) {countOfCompare+=9;	lswap3(0,1,5);lswap2(3,4);}
	 else {countOfCompare+=9;	lswap3(0,1,5);lswap3(2,4,3);}
	 else if(d[2]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(0,5,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,5);}
	 else {countOfCompare+=10;	lswap2(0,5);lswap2(3,4);}
	 else if(d[1]<=d[4]) {countOfCompare+=9;	lswap2(0,5);lswap3(2,4,3);}
	 else {countOfCompare+=9;	lswap2(0,5);lswap4(1,4,3,2);}
	 else if(d[1]<=d[3]) if(d[1]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(0,5,4);lswap2(1,2);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,5);lswap2(1,2);}
	 else {countOfCompare+=10;	lswap2(0,5);lswap2(1,2);lswap2(3,4);}
	 else if(d[2]<=d[4]) {countOfCompare+=9;	lswap2(0,5);lswap4(1,2,4,3);}
	 else {countOfCompare+=9;	lswap2(0,5);lswap3(1,4,3);}
	 else if(d[1]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(0,5,4);lswap3(1,2,3);}
	 else {countOfCompare+=9;	lswap2(0,5);lswap3(1,2,3);}
	 else if(d[2]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,5);lswap4(1,2,3,4);}
	 else {countOfCompare+=10;	lswap2(0,5);lswap3(1,2,4);}
	 else {countOfCompare+=9;	lswap2(0,5);lswap2(1,4);}
	 else if(d[4]<=d[5]) if(d[0]<=d[2]) if(d[1]<=d[4]) if(d[0]<=d[4]) if(d[0]<=d[3]) if(d[2]<=d[5]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap2(0,1);lswap2(2,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,1);lswap3(2,3,4);}
	 else {countOfCompare+=10;	lswap2(0,1);lswap2(2,4);}
	 else if(d[3]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,1);lswap4(2,3,4,5);}
	 else {countOfCompare+=10;	lswap2(0,1);lswap3(2,4,5);}
	 else {countOfCompare+=9;	lswap2(0,1);lswap4(2,4,3,5);}
	 else if(d[1]<=d[3]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap4(0,1,3,2);}
	 else if(d[2]<=d[5]) {countOfCompare+=10;	lswap5(0,1,3,4,2);}
	 else {countOfCompare+=10;	lswap6(0,1,3,4,5,2);}
	 else if(d[2]<=d[4]) {countOfCompare+=9;	lswap3(0,3,2);}
	 else if(d[2]<=d[5]) {countOfCompare+=10;	lswap4(0,3,4,2);}
	 else {countOfCompare+=10;	lswap5(0,3,4,5,2);}
	 else if(d[3]<=d[4]) if(d[1]<=d[3]) if(d[2]<=d[5]) {countOfCompare+=9;	lswap3(0,1,3);lswap2(2,4);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,1,3);lswap3(2,4,5);}
	 else {countOfCompare+=10;	lswap6(0,1,3,5,2,4);}
	 else if(d[2]<=d[5]) {countOfCompare+=9;	lswap2(0,3);lswap2(2,4);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,3);lswap3(2,4,5);}
	 else {countOfCompare+=10;	lswap5(0,3,5,2,4);}
	 else if(d[0]<=d[3]) if(d[3]<=d[5]) if(d[2]<=d[5]) {countOfCompare+=10;	lswap4(0,1,4,2);}
	 else {countOfCompare+=10;	lswap5(0,1,4,5,2);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,1,4,3,5,2);}
	 else {countOfCompare+=10;	lswap4(0,1,4,3);lswap2(2,5);}
	 else if(d[0]<=d[5]) if(d[2]<=d[5]) {countOfCompare+=10;	lswap5(0,1,4,2,3);}
	 else {countOfCompare+=10;	lswap6(0,1,4,5,2,3);}
	 else if(d[3]<=d[5]) {countOfCompare+=10;	lswap3(0,1,4);lswap3(2,3,5);}
	 else {countOfCompare+=10;	lswap3(0,1,4);lswap2(2,5);}
	 else if(d[1]<=d[3]) if(d[3]<=d[5]) if(d[0]<=d[3]) if(d[2]<=d[5]) {countOfCompare+=9;	lswap3(0,4,2);}
	 else {countOfCompare+=9;	lswap4(0,4,5,2);}
	 else if(d[2]<=d[5]) {countOfCompare+=9;	lswap4(0,4,2,3);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,4,5,2,3);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap3(2,3,5);}
	 else if(d[0]<=d[3]) if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap5(0,4,3,5,2);}
	 else {countOfCompare+=10;	lswap3(0,4,3);lswap2(2,5);}
	 else {countOfCompare+=9;	lswap3(0,4,3);lswap3(1,5,2);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap2(0,4);lswap2(2,5);}
	 else {countOfCompare+=9;	lswap2(0,4);lswap3(1,5,2);}
	 else if(d[0]<=d[5]) if(d[2]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=9;	lswap2(0,3);lswap3(1,4,2);}
	 else {countOfCompare+=9;	lswap5(0,4,2,1,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap2(0,3);lswap4(1,4,5,2);}
	 else {countOfCompare+=9;	lswap6(0,4,5,2,1,3);}
	 else if(d[1]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=9;	lswap6(0,3,5,2,1,4);}
	 else {countOfCompare+=9;	lswap2(0,4);lswap4(1,3,5,2);}
	 else if(d[3]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(0,3,1,4);lswap2(2,5);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap2(1,3);lswap2(2,5);}
	 else {countOfCompare+=9;	lswap2(0,4);lswap4(1,5,2,3);}
	 else if(d[1]<=d[4]) if(d[1]<=d[3]) if(d[0]<=d[5]) if(d[2]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(0,1,3);}
	 else {countOfCompare+=9;	lswap4(0,1,3,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap5(0,1,3,2,4);}
	 else {countOfCompare+=9;	lswap3(0,1,4);lswap2(2,3);}
	 else if(d[2]<=d[5]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap5(0,1,3,4,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap6(0,1,3,2,4,5);}
	 else {countOfCompare+=10;	lswap4(0,1,4,5);lswap2(2,3);}
	 else if(d[3]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(0,1,3,5);lswap2(2,4);}
	 else {countOfCompare+=10;	lswap6(0,1,4,2,3,5);}
	 else {countOfCompare+=9;	lswap5(0,1,4,2,5);}
	 else if(d[0]<=d[5]) if(d[0]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=9;	lswap2(0,3);}
	 else {countOfCompare+=9;	lswap2(0,3);lswap2(1,2);}
	 else if(d[2]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap3(0,3,4);}
	 else {countOfCompare+=10;	lswap3(0,3,4);lswap2(1,2);}
	 else {countOfCompare+=9;	lswap4(0,3,2,4);}
	 else if(d[2]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=9;	lswap4(0,3,4,5);}
	 else {countOfCompare+=9;	lswap4(0,3,4,5);lswap2(1,2);}
	 else if(d[2]<=d[5]) {countOfCompare+=9;	lswap5(0,3,2,4,5);}
	 else {countOfCompare+=9;	lswap3(0,3,5);lswap2(2,4);}
	 else if(d[1]<=d[2]) if(d[2]<=d[5]) if(d[0]<=d[5]) if(d[1]<=d[3]) {countOfCompare+=9;	lswap2(0,4);lswap2(2,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap5(0,3,2,1,4);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap3(1,3,2);}
	 else if(d[1]<=d[3]) {countOfCompare+=9;	lswap3(0,4,5);lswap2(2,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap6(0,3,2,1,4,5);}
	 else {countOfCompare+=10;	lswap3(0,4,5);lswap3(1,3,2);}
	 else if(d[1]<=d[5]) if(d[1]<=d[3]) if(d[3]<=d[5]) {countOfCompare+=10;	lswap5(0,4,2,3,5);}
	 else {countOfCompare+=10;	lswap4(0,4,2,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(0,3,5);lswap3(1,4,2);}
	 else {countOfCompare+=10;	lswap6(0,4,2,1,3,5);}
	 else if(d[3]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap6(0,3,1,4,2,5);}
	 else {countOfCompare+=10;	lswap4(0,4,2,5);lswap2(1,3);}
	 else if(d[1]<=d[3]) {countOfCompare+=10;	lswap5(0,4,2,1,5);}
	 else {countOfCompare+=10;	lswap6(0,4,2,3,1,5);}
	 else if(d[1]<=d[5]) if(d[0]<=d[5]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap5(0,3,1,2,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(0,3,1,4);}
	 else {countOfCompare+=10;	lswap2(0,4);lswap2(1,3);}
	 else if(d[2]<=d[4]) {countOfCompare+=9;	lswap6(0,3,1,2,4,5);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap5(0,3,1,4,5);}
	 else {countOfCompare+=10;	lswap3(0,4,5);lswap2(1,3);}
	 else if(d[2]<=d[5]) if(d[2]<=d[4]) {countOfCompare+=9;	lswap3(0,3,5);lswap3(1,2,4);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap3(0,3,5);lswap2(1,4);}
	 else {countOfCompare+=10;	lswap5(0,4,1,3,5);}
	 else if(d[3]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap4(0,3,2,5);lswap2(1,4);}
	 else {countOfCompare+=10;	lswap6(0,4,1,3,2,5);}
	 else {countOfCompare+=9;	lswap4(0,4,1,5);lswap2(2,3);}
	 else if(d[0]<=d[2]) if(d[3]<=d[5]) if(d[1]<=d[3]) if(d[2]<=d[4]) if(d[0]<=d[3]) if(d[2]<=d[5]) {countOfCompare+=9;	lswap2(0,1);lswap2(2,3);lswap2(4,5);}
	 else {countOfCompare+=9;	lswap2(0,1);lswap4(2,3,5,4);}
	 else if(d[2]<=d[5]) {countOfCompare+=9;	lswap4(0,1,3,2);lswap2(4,5);}
	 else if(d[0]<=d[5]) {countOfCompare+=10;	lswap6(0,1,3,5,4,2);}
	 else {countOfCompare+=10;	lswap3(0,1,3);lswap3(2,5,4);}
	 else if(d[0]<=d[5]) if(d[0]<=d[3]) {countOfCompare+=9;	lswap2(0,1);lswap3(2,3,5);}
	 else {countOfCompare+=9;	lswap5(0,1,3,5,2);}
	 else if(d[0]<=d[4]) {countOfCompare+=9;	lswap3(0,1,3);lswap2(2,5);}
	 else {countOfCompare+=9;	lswap4(0,1,3,4);lswap2(2,5);}
	 else if(d[2]<=d[4]) if(d[0]<=d[5]) if(d[2]<=d[5]) {countOfCompare+=9;	lswap3(0,3,2);lswap2(4,5);}
	 else {countOfCompare+=9;	lswap5(0,3,5,4,2);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap2(0,3);lswap3(2,5,4);}
	 else {countOfCompare+=9;	lswap2(0,3);lswap4(1,5,4,2);}
	 else if(d[0]<=d[4]) if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap4(0,3,5,2);}
	 else {countOfCompare+=10;	lswap2(0,3);lswap2(2,5);}
	 else {countOfCompare+=9;	lswap2(0,3);lswap3(1,5,2);}
	 else if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap3(0,3,4);lswap2(2,5);}
	 else {countOfCompare+=10;	lswap3(0,3,4);lswap3(1,5,2);}
	 else {countOfCompare+=9;	lswap6(0,3,1,5,2,4);}
	 else if(d[0]<=d[3]) if(d[3]<=d[4]) if(d[2]<=d[4]) if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,1);lswap3(2,5,4);}
	 else {countOfCompare+=10;	lswap5(0,1,5,4,2);}
	 else {countOfCompare+=9;	lswap4(0,5,4,2);}
	 else if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,1);lswap2(2,5);}
	 else {countOfCompare+=10;	lswap4(0,1,5,2);}
	 else {countOfCompare+=9;	lswap3(0,5,2);}
	 else if(d[0]<=d[4]) if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,1);lswap2(2,5);lswap2(3,4);}
	 else {countOfCompare+=10;	lswap4(0,1,5,2);lswap2(3,4);}
	 else {countOfCompare+=9;	lswap3(0,5,2);lswap2(3,4);}
	 else if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap6(0,1,5,2,4,3);}
	 else {countOfCompare+=10;	lswap5(0,5,2,4,3);}
	 else {countOfCompare+=9;	lswap6(0,5,2,1,4,3);}
	 else if(d[0]<=d[4]) if(d[2]<=d[4]) if(d[1]<=d[3]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap6(0,1,5,4,2,3);}
	 else {countOfCompare+=10;	lswap5(0,5,4,2,3);}
	 else {countOfCompare+=9;	lswap6(0,5,4,2,1,3);}
	 else if(d[1]<=d[3]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap5(0,1,5,2,3);}
	 else {countOfCompare+=10;	lswap4(0,5,2,3);}
	 else {countOfCompare+=9;	lswap5(0,5,2,1,3);}
	 else if(d[3]<=d[4]) if(d[1]<=d[3]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap6(0,1,5,2,3,4);}
	 else {countOfCompare+=10;	lswap5(0,5,2,3,4);}
	 else if(d[1]<=d[4]) {countOfCompare+=10;	lswap6(0,5,2,1,3,4);}
	 else {countOfCompare+=10;	lswap4(0,5,2,4);lswap2(1,3);}
	 else if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap5(0,1,5,2,4);}
	 else {countOfCompare+=10;	lswap4(0,5,2,4);}
	 else if(d[1]<=d[3]) {countOfCompare+=10;	lswap5(0,5,2,1,4);}
	 else {countOfCompare+=10;	lswap6(0,5,2,3,1,4);}
	 else if(d[3]<=d[5]) if(d[2]<=d[5]) if(d[1]<=d[2]) if(d[1]<=d[3]) if(d[0]<=d[4]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap3(0,1,3);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap5(0,1,3,5,4);}
	 else {countOfCompare+=9;	lswap4(0,1,3,5);}
	 else if(d[0]<=d[4]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,3);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap4(0,3,5,4);}
	 else {countOfCompare+=9;	lswap3(0,3,5);}
	 else if(d[0]<=d[4]) if(d[1]<=d[5]) if(d[0]<=d[5]) {countOfCompare+=10;	lswap2(0,3);lswap2(1,2);lswap2(4,5);}
	 else {countOfCompare+=10;	lswap4(0,3,5,4);lswap2(1,2);}
	 else {countOfCompare+=9;	lswap6(0,3,1,2,5,4);}
	 else if(d[1]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=10;	lswap3(0,3,5);lswap2(1,2);}
	 else {countOfCompare+=10;	lswap5(0,3,1,2,5);}
	 else {countOfCompare+=9;	lswap6(0,3,4,1,2,5);}
	 else if(d[1]<=d[5]) if(d[1]<=d[3]) if(d[2]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=10;	lswap6(0,1,3,2,5,4);}
	 else {countOfCompare+=10;	lswap5(0,1,3,2,5);}
	 else {countOfCompare+=9;	lswap6(0,1,3,4,2,5);}
	 else if(d[2]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=10;	lswap5(0,3,2,5,4);}
	 else {countOfCompare+=10;	lswap4(0,3,2,5);}
	 else {countOfCompare+=9;	lswap5(0,3,4,2,5);}
	 else if(d[1]<=d[2]) if(d[2]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=10;	lswap6(0,3,2,1,5,4);}
	 else {countOfCompare+=10;	lswap5(0,3,2,1,5);}
	 else if(d[1]<=d[4]) {countOfCompare+=10;	lswap6(0,3,4,2,1,5);}
	 else {countOfCompare+=10;	lswap4(0,3,1,5);lswap2(2,4);}
	 else if(d[1]<=d[4]) if(d[0]<=d[4]) {countOfCompare+=10;	lswap5(0,3,1,5,4);}
	 else {countOfCompare+=10;	lswap4(0,3,1,5);}
	 else if(d[2]<=d[4]) {countOfCompare+=10;	lswap5(0,3,4,1,5);}
	 else {countOfCompare+=10;	lswap6(0,3,2,4,1,5);}
	 else if(d[1]<=d[3]) if(d[2]<=d[4]) if(d[0]<=d[4]) if(d[1]<=d[5]) {countOfCompare+=9;	lswap4(0,1,5,4);lswap2(2,3);}
	 else {countOfCompare+=9;	lswap3(0,5,4);lswap2(2,3);}
	 else if(d[1]<=d[5]) {countOfCompare+=9;	lswap3(0,1,5);lswap2(2,3);}
	 else {countOfCompare+=9;	lswap2(0,5);lswap2(2,3);}
	 else if(d[1]<=d[5]) if(d[3]<=d[4]) {countOfCompare+=9;	lswap3(0,1,5);lswap3(2,3,4);}
	 else {countOfCompare+=9;	lswap3(0,1,5);lswap2(2,4);}
	 else if(d[1]<=d[4]) if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,5);lswap3(2,3,4);}
	 else {countOfCompare+=10;	lswap2(0,5);lswap2(2,4);}
	 else {countOfCompare+=9;	lswap2(0,5);lswap3(1,4,2);}
	 else if(d[2]<=d[4]) if(d[0]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=9;	lswap3(0,5,4);lswap3(1,3,2);}
	 else {countOfCompare+=9;	lswap3(0,5,4);lswap2(1,3);}
	 else if(d[1]<=d[4]) if(d[1]<=d[2]) {countOfCompare+=10;	lswap2(0,5);lswap3(1,3,2);}
	 else {countOfCompare+=10;	lswap2(0,5);lswap2(1,3);}
	 else {countOfCompare+=9;	lswap2(0,5);lswap3(1,3,4);}
	 else if(d[1]<=d[2]) if(d[1]<=d[4]) {countOfCompare+=9;	lswap2(0,5);lswap4(1,3,4,2);}
	 else if(d[3]<=d[4]) {countOfCompare+=10;	lswap2(0,5);lswap2(1,3);lswap2(2,4);}
	 else {countOfCompare+=10;	lswap2(0,5);lswap4(1,4,2,3);}
	 else if(d[3]<=d[4]) {countOfCompare+=9;	lswap2(0,5);lswap4(1,3,2,4);}
	 else {countOfCompare+=9;	lswap2(0,5);lswap2(1,4);lswap2(2,3);}
 return 1;
}
//test for all 6 elements data
#define TESTELEMENTS 6
long int accCountOfCompare=0;
long int accCountOfMove=0;
int      accCountOfTest=0;

int evalData(unsigned int orgData[]){
unsigned int verifyData[TESTELEMENTS];
int i;
int rc=0;
 for(i=0;i<TESTELEMENTS;i++) verifyData[i]=orgData[i];
 countOfMove=0; //debug
 countOfCompare=0; //debug
 sort6l(verifyData);
 for(i=1;i<TESTELEMENTS;i++){
  if(verifyData[i-1] >verifyData[i]) {
    printf("failed to sort !!\t");
    rc=2;
    break;
  }
 }
accCountOfTest +=1; //debug
accCountOfCompare += countOfCompare; //debug
accCountOfMove += countOfMove; //debug 
if(rc>0) {
   int j;
   printf(" orignal data={");
   for(j=0;j<TESTELEMENTS;j++)printf("%c",orgData[j]);
   printf("}\t");
   printf(" compare Count=%d,move count=%d,\t",countOfCompare,countOfMove);
   printf(" verifyed data={");
   for(j=0;j<TESTELEMENTS;j++)printf("%c",verifyData[j]);
   printf("}\t\n");
}
 return rc;
}
//順列生成しながらテストする
int testByGenPerm(unsigned int testData[]){
int i,k,c[TESTELEMENTS+1];
for(i=0;i<=TESTELEMENTS;i++) c[i]=i;
k=1;
while(k < TESTELEMENTS){
  if(k & 1) i=c[k]; else i=0;
  {unsigned int w;w=testData[k];testData[k]=testData[i];testData[i]=w;}
  evalData(testData);
  k=1;
  while(c[k]==0) {c[k]=k;k++;}
  c[k]--;
}
return 0;
}
//メイン
int main(){
  unsigned int testData[TESTELEMENTS];
  unsigned int testValue;
  unsigned int verifyValue,verifyCount;
  for (testValue=0;testValue<=0x001f;testValue+=1){
    testData[0]=(testValue &    1)?1:0;
    testData[1]=(testValue &    2)?1:0;
    testData[2]=(testValue &    4)?1:0;
    testData[3]=(testValue &    8)?1:0;
    testData[4]=(testValue & 0x10)?1:0;
    testData[5]=(testValue & 0x20)?1:0;
    verifyCount=testData[0]+testData[1]+testData[2]+testData[3]+testData[4]+testData[5];
    sort6l(testData);
    verifyValue=testData[0] + testData[1]*2 + testData[2]*4 + testData[3]*8 + testData[4]*0x10 +testData[5]* 0x20;
    if(!(verifyValue == ((verifyCount)?(0x3f &(0x1fc0 >>verifyCount)):0))) { //failed to sort
      printf("failed for testValue=0x%2x -> verifyValue=0x%2x \n",testValue,verifyValue);
      return 2;
    }
  }
  printf("easy test done.\n");

  accCountOfTest = 0;
  accCountOfCompare = 0;
  accCountOfMove = 0;
  clock_t time_at_start=clock();
  for(int it=0;it<testIterates;it++){//easy test
    testData[0]=('a' <<8 ) +'p';
    testData[1]=('b' <<8 ) +'q';
    testData[2]=('c' <<8 ) +'r';
    testData[3]=('d' <<8 ) +'s';
    testData[4]=('e' <<8 ) +'t';
    testData[5]=('f' <<8 ) +'u';
    testByGenPerm(testData);
  }
  clock_t time_at_end=clock();
  printf("test done.\n");
  printf("## test count=%d\t",accCountOfTest);
  printf("## average Compares=%6.2f\t",((float)accCountOfCompare)/accCountOfTest);
  printf("## average Moves=%6.2f\n",((float)accCountOfMove)/accCountOfTest);
  printf("## excuted time=%10.6f Nsec \n",
        (time_at_end - time_at_start) / (double)CLOCKS_PER_SEC *1000000/accCountOfTest);
  return 0;
}
