import java.io.*;
public class Challenge1 {
public static int Factorial(int number)
{
int temp;
if(number <= 1)
{
return 1;
}
temp = number* Factorial(number -1);
return temp;
}
public static int FindLastNonZero(int number)
{
int foundNumber = number;
int count = 0;
//Convert number to an array of integers
//First: find how long the array will be
while(foundNumber != 0)
{
foundNumber /= 10;
count++;
}
// create the new array based off of the found length
int numberArray[] = new int[count];
count = 0;
foundNumber = number;
//Create the array and put the last digit into the first position.
// i.e. 1024 array[0] = 4, array[1] = 2, array[2] =0, etc...
while (foundNumber != 0)
{
numberArray[count] = foundNumber % 10;
foundNumber /= 10;
count++;
}
int position=0;
// iterate through the array to find the last non-zero integer
while (numberArray[position] == 0)
{
position++;
}
return numberArray[position];
}
public static void main(String [] args) throws NumberFormatException, IOException
{
int inputNum;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
inputNum = Integer.parseInt(br.readLine());
System.out.println("Factorial Result= " + Factorial(inputNum));
System.out.println("Last non-zero integer= " + FindLastNonZero(Factorial(inputNum)));
}
}