void sortmoves(int ply)
	{
		int best;
		for(int x=b.msi[ply];x<b.msi[ply+1];x++)
		{
			best=x;
			for(int y=x+1;y<b.msi[ply+1];y++)
				if(b.ss[y]>b.ss[best])
					best=y;
			if(best!=x)
			{
				move tm=b.ms[best];
				b.ms[best]=b.ms[x];
				b.ms[x]=tm;
				int ts=b.ss[best];
				b.ss[best]=b.ss[x];
				b.ss[x]=ts;
			}
		}
	}