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.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;


public class CF31 {

    static BufferedReader br;
    public static void main(String[]args){
        br=new BufferedReader(new InputStreamReader(System.in));
        try{
        	int m=readInt();
        	
        	
        	int vl=1;
        	int cnt=0;
        	long pv=1;
        	
        	long md=(long)Math.pow(10, 11);
        
        	
        	ArrayList<Integer>res=new ArrayList<Integer>();
        	int hv=0;
        	while(true){
        		
        		int nmc=0;
        		pv*=vl;
        		long tv=pv;
        		while(tv%10==0){
        			nmc++;
        			tv/=10;
        			
        		}
        		
        		
        		hv+=nmc;
        		
        		if(hv==m){
        			//System.out.println(pv+" "+nmc);
        			res.add(vl);
        			
        			cnt++;
        		}
        		
        		pv=tv%md;
        		
        		vl++;
        		//System.out.println(nmc+" "+pv+" "+vl);
        		if(hv>m)break;
        	}
        	
        	System.out.println(cnt);
        	if(cnt>0){
        		System.out.print(res.get(0));
        		for(int i=1;i<cnt;i++){
        			System.out.print(" "+res.get(i));
        		}
        		System.out.println();
        	}
            br.close();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    
    static public String readString() throws IOException{
        return br.readLine();
        
    }
    static public long readLong() throws IOException{
        return Long.parseLong(br.readLine());
    }
    
    static public int readInt() throws IOException{
        return Integer.parseInt(br.readLine());
    }
    
    static public int[] readIntArr() throws IOException{
        String[]str=br.readLine().split(" ");
        int arr[]=new int[str.length];
        for(int i=0;i<arr.length;i++)arr[i]=Integer.parseInt(str[i]);
        return arr;
    }
    
    static public Integer[] readOIntArr() throws IOException{
        String[]str=br.readLine().split(" ");
        Integer arr[]=new Integer[str.length];
        for(int i=0;i<arr.length;i++)arr[i]=new Integer(str[i]);
        return arr;
    }
    
    static public double[] readDoubleArr() throws IOException{
        String[]str=br.readLine().split(" ");
        double arr[]=new double[str.length];
        for(int i=0;i<arr.length;i++)arr[i]=Double.parseDouble(str[i]);
        return arr;
    }
    
    static public Double[] readODoubleArr() throws IOException{
        String[]str=br.readLine().split(" ");
        Double arr[]=new Double[str.length];
        for(int i=0;i<arr.length;i++)arr[i]=new Double(str[i]);
        return arr;
    }
    
    static public long[] readLongArr() throws IOException{
        String[]str=br.readLine().split(" ");
        long arr[]=new long[str.length];
        for(int i=0;i<arr.length;i++)arr[i]=Long.parseLong(str[i]);
        return arr;
    }
    
    static public Long[] readOLongArr() throws IOException{
        String[]str=br.readLine().split(" ");
        Long arr[]=new Long[str.length];
        for(int i=0;i<arr.length;i++)arr[i]=new Long(str[i]);
        return arr;
    }
    
    static public double readDouble() throws IOException{
        return Double.parseDouble(br.readLine());
    }
}