void think()
	{
		search s=new search(this);
		nodes=qnodes=0;
		int val,alpha=-10000,beta=10000;
		long l=(new Date()).getTime();
		println("depth score\tnodes\tpv (time)");
		for(int x=1;x<=md;x++)
		{	
			val=s.searchr(alpha,beta,x);
			if(val>beta)
			{
				println(x+"     ++\t"+((nodes+qnodes)/1000)+"k\t"+pv[0][0]+"! ("+((new Date()).getTime()-l)+")");
				beta=10000;
				x--;
			}
			else if(val<alpha)
			{
				println(x+"     --\t"+((nodes+qnodes)/1000)+"k\t"+pv[0][0]+"? ("+((new Date()).getTime()-l)+")");
				alpha=-10000;
				x--;
			}
			else
			{
				println(x+"     "+val+"\t"+((nodes+qnodes)/1000)+"k\t"+pvstr()+"("+((new Date()).getTime()-l)+")");
				alpha=val-100;
				beta=val+100;
			}
		}
		println((nodes+qnodes)+" nodes "+((float)100.0*qnodes/(nodes+qnodes))+"% q "+
			((float)((new Date()).getTime()-l)/1000)+" secs "+
			((float)(nodes+qnodes)/((float)((new Date()).getTime()-l)/1000))+" nps");
	}