//Very very poor technique.. there must be a better way..
import java.util.Scanner;
public class HipToBeSquare
{
public static boolean isSquared(int x, int y){
if (y == 0) return false;
if (x - y * y == 0){
System.out.println(y);
return true;
}
else{
int newNum = (x - y * y);
if(isSquared(newNum, highestSquare(newNum)) == false){
if(isSquared(x, y - 1))
System.out.println(y);
return true;
}
else return true;
}
// System.out.println("This line should never be reached");
// return false;
}
public static int highestSquare(int x){
for (int i = 1; i <= 100; i++){
if (x >= i * i)
continue;
else
return i - 1;
}
return 0;
}
public static void main(String args[]){
Scanner reader = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = reader.nextInt();
System.out.println(highestSquare(number));
isSquared(number, highestSquare(number));
}
}