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.*;
import java.util.*;
public final class manthan02
{
    static FastScanner sc=new FastScanner(new BufferedReader(new InputStreamReader(System.in)));
    static PrintWriter out=new PrintWriter(System.out);
	
	static int check(int curr,int m)
	{
		int val=5,elem,num=0;
		while((elem=(curr/val))>0)
		{
			num+=elem;
			val*=5;
		}
		return num;
	}
	
    public static void main(String args[]) throws Exception
    {
		int m=sc.nextInt();
		int low=1,high=600001;
		while(low!=high)
		{
			int mid=(low+high)>>1; 
			if(check(mid,m)<m)
			{
				low=mid+1;
			}
			else
			{
				high=mid;
			}
		}
		TreeSet<Integer> list=new TreeSet<Integer>();
		int low1=low,low2=low;
		while(true)
		{
			if(check(low1,m)==m)
			{
				list.add(low1);
				low1--;
			}
			else
			{
				break;
			}
		}
		while(true)
		{
			if(check(low2,m)==m)
			{
				list.add(low2);
				low2++;
			}
			else
			{
				break;
			}
		}
		out.println(list.size());
		for(int x:list)
		{
			out.print(x+" ");
		}
		out.close();
    }
}
class FastScanner
{
    BufferedReader in;
    StringTokenizer st;

    public FastScanner(BufferedReader in) {
        this.in = in;
    }
	
    public String nextToken() throws Exception {
        while (st == null || !st.hasMoreTokens()) {
            st = new StringTokenizer(in.readLine());
        }
        return st.nextToken();
    }
	
	public String next() throws Exception {
		return nextToken().toString();
	}
	
    public int nextInt() throws Exception {
        return Integer.parseInt(nextToken());
    }

    public long nextLong() throws Exception {
        return Long.parseLong(nextToken());
    }

    public double nextDouble() throws Exception {
        return Double.parseDouble(nextToken());
    }
}