We have a grid with H rows and W columns, where all the squares are initially white.

You will perform some number of painting operations on the grid. In one operation, you can do one of the following two actions:

* Choose one row, then paint all the squares in that row black.
* Choose one column, then paint all the squares in that column black.



At least how many operations do you need in order to have N or more black squares in the grid? It is guaranteed that, under the conditions in Constraints, having N or more black squares is always possible by performing some number of operations.

Constraints

* 1 \leq H \leq 100
* 1 \leq W \leq 100
* 1 \leq N \leq H \times W
* All values in input are integers.

Input

Input is given from Standard Input in the following format:


H
W
N


Output

Print the minimum number of operations needed.

Examples

Input

3
7
10


Output

2


Input

14
12
112


Output

8


Input

2
100
200


Output

2
import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.next();
		//String t = sc.next();
		//String g = sc.next();
		long h = sc.nextLong();
		long w = sc.nextLong();
		long n = sc.nextLong();
		//long l = sc.nextLong();
		//String buff="Christmas";
		long countw=0;
		long buff=0;
		long[] array=new long[3];

		for(long i=0;i<Math.max(h, w);i++) {
			buff+=Math.max(w, h);
			if(buff>=n) {
				System.out.println(i+1);
				System.exit(0);
			}
			countw=i+1;
		}
		for(long i=0;i<Math.min(h, w);i++) {
			buff+=Math.min(w, h)-countw;
			if(buff>=n) {
				System.out.println(i+1);
				System.exit(0);
			}
			countw=i+1;
		}
		Arrays.sort(array);

		/*if() {
			System.out.println("TBD");
		}else {
			System.out.println("Heisei");
		}*/
		//System.out.println(n*m-k*m-l*(n-k));
		//System.out.println(Math.abs(array[2]-array[1])+Math.abs(array[1]-array[0]));
	}
}


