Problem: Mr. Santa asks all the great programmers of the world to solve a trivial problem. He gives them an integer m and asks for the number of positive integers n, such that the factorial of n ends with exactly m zeroes. Are you among those great programmers who can solve this problem?

Input

The only line of input contains an integer m (1 ≤ m ≤ 100 000) — the required number of trailing zeroes in factorial.

Output

First print k — the number of values of n such that the factorial of n ends with m zeroes. Then print these k integers in increasing order.

Examples

Input

1


Output

5
5 6 7 8 9 

Input

5


Output

0

Note

The factorial of n is equal to the product of all integers from 1 to n inclusive, that is n! = 1·2·3·...·n.

In the first sample, 5! = 120, 6! = 720, 7! = 5040, 8! = 40320 and 9! = 362880.

Solution (in JAVA):

Solution:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;


public class Trailingzeros {

	public static void main(String[] args)
	{
		MyScannertz sc=new MyScannertz();
		int m=sc.nextInt();
		int count=0;
		int low=0;
		int high=Integer.MAX_VALUE;
		int mid=0;
		while(low<=high)
		{
			mid=(low+high)/2;
			int v=fze(mid);
			if(v==m)
			{
				break;
			}
			else if(v<m)
			{
				low=mid+1;
			}
			else
				high=mid-1;
		}
		
		ArrayList<Integer> a=new ArrayList<Integer>();
		if(fze(mid)==m)
		{
			
			a.add(mid);
			int left=mid-1;
			while(fze(left)==m)
			{
				count++;
				a.add(left);
				left--;
			}
			int right=mid+1;
			while(fze(right)==m)
			{
				count++;
				a.add(right);
				right++;
			}
		}
		System.out.println(a.size());
		if(a.size()!=0)
		{
			Collections.sort(a);
			for(int i=0;i<a.size();i++)
			{
				if(i!=0)
					System.out.print(" ");
				System.out.print(a.get(i));
			}
		}
		
	}
	static int fze(int  n)
	{
	    
	    int count = 0;
	    int i=5;
	    while((n/i)>0)
	    {
	    	count +=(n/i);
	    	i=i*5;
	    }
	    return count;
	}

}
class MyScannertz
{
	BufferedReader br;
	StringTokenizer st;
	MyScannertz()
	{
		br=new BufferedReader(new InputStreamReader(System.in));
	}
	String next()
	{
		
		while(st==null || !st.hasMoreTokens())
		{
			try
			{
				st=new StringTokenizer(br.readLine());
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}
		return st.nextToken();
		
	}
	int nextInt()
	{
		return Integer.parseInt(next());
	}
	long nextLong()
	{
		return Long.parseLong(next());
	}
	double nextDouble()
	{
		return Double.parseDouble(next());
	}
	String nextLine()
	{
		String str="";
		try
		{
			str=br.readLine();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		return str;
		
	}
}