void perft(int ply,int depth)
	{
		gen(ply);
		if(depth>1)
			for(int x=msi[ply];x<msi[ply+1];x++)
			{
				if(make(ms[x]))
				{
					perft(ply+1,depth-1);
					unmake();
				}
			}
		else
		{
			checklegal(ply);
			nodes+=msi[ply+1]-msi[ply];
		}
	}