public static int uniquePaths3(int m, int n) {
		m--;
		n--;
		double numerator = 1;
		double denominator1 = 1;
		double denominator2 = 1;
		int i = 1;
		while (true) {
			if (i <= m + n)
				numerator *= i;
			else
				break;
			i++;
		}
		i = 1;
		while (true) {
			if (i <= m)
				denominator1 *= i;
			else
				break;
			i++;
		}
		i = 1;
		while (true) {
			if (i <= n)
				denominator2 *= i;
			else
				break;
			i++;
		}
		double result = numerator / denominator1 / denominator2;
		return (int) result;
	}