private int alphaValue(Node n, int alpha, int beta, int depth) {
		Pair euler = calculateEulerValue(n);
		if (euler.i == 1)
			return inf;
		else if (euler.j == 1)
			return -inf;
		else if (depth == 0)
			return value(n, euler);
		else {
			int v = -inf;
			List<Node> children = n.getChildren();
			for (Node c : children) {
				v = Math.max(v, betaValue(c, alpha, beta, depth - 1));
				if (v >= beta) 
					return v;
				
			}
			alpha = Math.max(v, alpha);
			return v;
		}
	}