The solution of $ x ^ 3 = q $ is to calculate the recurrence formula $ x_ {n + 1} = x_n-\ frac {x_ {n} ^ 3 --q} {3x_ {n} ^ 2} $ It can be calculated approximately with.

Put a positive number $ \ frac {q} {2} $ in $ x_1 $

$ x_2 = x_1-\ frac {x_ {1} ^ 3 --q} {3x_ {1} ^ 2} $, $ x_3 = x_2-\ frac {x_ {2} ^ 3 --q} {3x_ {2} ^ Calculate as 2} $,….

While doing this calculation

When the value of $ | x ^ 3 --q | $ becomes small enough, stop the calculation and use the last calculated $ x_n $ as an approximate solution of $ x ^ 3 = q $.

Follow this method to create a program that outputs an approximation of the cube root of $ q $ for the input positive integer $ q $. However, use $ | x ^ 3-q | <0.00001 q $ to determine that it is "small enough".



input

Multiple datasets are given. For each dataset, $ q $ ($ 1 \ leq q <2 ^ {31} $) (integer) is given on one line. The end of the input is -1.

The number of datasets does not exceed 50.

output

Print $ x $ (real number) on one line for each dataset. The output result may contain an error of 0.00001 or less.

Example

Input

15
15
-1


Output

2.466212
2.466212
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;


public class Main {
	private	static	BufferedReader	br = null;

	static {
		br = new BufferedReader(new InputStreamReader(System.in));
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashMap<Integer, Double>	result = new HashMap<Integer, Double>();
		int							key    = 0;
		double						value  = 0;

		while ((key = parseKey()) != -1) {
			if (result.containsKey(key)) {
				value = result.get(key);
			}
			else {
				value = calc(key);
				result.put(key, value);
			}
			System.out.printf("%.6f\n", value);
		}
	}

	private static double calc(int key) {
		double	x = (double)key / 2.0;

		while (true) {
			x -= (Math.pow(x, 3.0) - (double)key) / (3 * Math.pow(x, 2.0));
			if (Math.abs(Math.pow(x, 3.0) - (double)key) < (1e-5f * (double)key)) {
				break;
			}
		}
		
		return x;
	}

	private static int parseKey() {
		int		key   = -1;
		String	stdin = null;

		if ((stdin = parseStdin()) != null) {
			if (!stdin.isEmpty()) {
				key = Integer.parseInt(stdin);
			}
		}
		
		return key;
	}

	private static String parseStdin() {
		String	stdin = null;

		try {
			String line = br.readLine();
			if (line != null) {
				if (!line.isEmpty()) {
					stdin = line;
				}
			}
		}
		catch (IOException e) {}

		return stdin;
	}
}