private long readNumber ( int side, int l, boolean FF )
	{
		long r = 0, b = 1;
		int q=0;
		byte[] g = new byte[l];
		try { fidx.read(g); }
		catch (IOException e) { e.printStackTrace(); }
		
		if(side>0 && l>1) b<<=((l-1)<<3);
		for(int i=0;i<l;i++)
			{
			q = g[i]; if(q<0) q+=0x100;
			if(q!=0xff) FF=false;
			r|= b*q;
			if(side>0) b>>=8; else b<<=8;
			}
		return (FF ? -1 : r );
	}