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.awt.*;
import java.io.*;
import java.math.*;
import java.util.*;
 
public class Main implements Runnable {
     
    int maxn = (int)1e5+100;
    int mod = (int)1e9+7;
    int inf = (int)1e9;
    int n,m,k;
    int a[] = new int[maxn];
    
    void solve() throws Exception {
    	
    	m = in.nextInt();
    	int cur = 0;
    	ArrayList<Integer> list = new ArrayList<Integer>();
    	for (int i=1; i<=1000000; i++) {
	    	int x = i;
    		while (x>0 && x%5==0) {
	    		x/=5;
	    		cur++;
	    	}
    		if (cur==m) list.add(i);
    		if (cur>m) break;
    	}
    	
    	out.println(list.size());
    	for (int num: list) {
    		out.print(num + " ");
    	}
    
    }
    
	class Pair implements Comparable<Pair>{
		int x;
        int y; 
        public Pair (int x, int y) {
            this.x = x;
            this.y = y;
        }
 
        @Override
        public int compareTo(Pair p) {
            if (x>p.x) return 1;
            else if (x==p.x) {
                if (y>p.y) return 1;
                else if (y==p.y) return 0;
                else return -1;
            } else {
                return -1;
            }
         
        }
    }
     
    String fileInName = "network";
    boolean file = false;
    boolean isAcmp = true;
     
    static Throwable throwable;
    public static void main (String [] args) throws Throwable {
    	Locale.setDefault(new Locale("en", "US"));
        Thread thread = new Thread(null, new Main(), "", (1 << 26));
        thread.start();
        thread.join();
        thread.run();
        if (throwable != null)
            throw throwable;
    }
     
    FastReader in;
    PrintWriter out;
 
    public void run() {
        String fileIn = "input.txt";
        String fileOut = "output.txt";
         
        try {
            if (isAcmp) {
                if (file) {
                    in = new FastReader(new BufferedReader(new FileReader(fileIn)));
                    out = new PrintWriter (fileOut);
                } else {
                    in = new FastReader(new BufferedReader(new InputStreamReader(System.in)));
                    out = new PrintWriter(System.out);
                }
            } else if (file) {
                in = new FastReader(new BufferedReader(new FileReader(fileInName+".in")));
                out = new PrintWriter (fileInName + ".out");
            } else {
                in = new FastReader(new BufferedReader(new InputStreamReader(System.in)));
                out = new PrintWriter(System.out);
            }
             
            solve();
        } catch(Exception e) {
            throwable = e;
        } finally {
            out.close();
        }
 
    }
}
 
class FastReader {
    BufferedReader bf;
    StringTokenizer tk = null;
 
    public FastReader(BufferedReader bf) {
        this.bf = bf;
    }
     
    public String nextToken () throws Exception {
        if (tk==null || !tk.hasMoreTokens()) {
            tk = new StringTokenizer(bf.readLine());
        }
        if (!tk.hasMoreTokens()) return nextToken();
        else
            return tk.nextToken();
    }
     
    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());
    }
}