public int fEvalRPN(int[] pre, String[] expr) {
		if (expr.length == 0) {
			return Integer.valueOf(pre[0]);
		}
		String e = expr[0];
		int n = pre.length - 1;
		if (e.equals("+")) {
			int a = pre[n - 1];
			int b = pre[n];
			pre[n - 1] = a + b;
			pre = Arrays.copyOf(pre, n);
		} else if (e.equals("-")) {
			int a = pre[n - 1];
			int b = pre[n];
			pre[n - 1] = a - b;
			pre = Arrays.copyOf(pre, n);
		} else if (e.equals("*")) {
			int a = pre[n - 1];
			int b = pre[n];
			pre[n - 1] = a * b;
			pre = Arrays.copyOf(pre, n);
		} else if (e.equals("/")) {
			int a = pre[n - 1];
			int b = pre[n];
			pre[n - 1] = a / b;
			pre = Arrays.copyOf(pre, n);
		} else {
			pre = Arrays.copyOf(pre, n + 2);
			pre[n + 1] = Integer.valueOf(e);
		}

		return fEvalRPN(pre, Arrays.copyOfRange(expr, 1, expr.length));
	}