After finishing eating her bun, Alyona came up with two integers n and m. She decided to write down two columns of integers — the first column containing integers from 1 to n and the second containing integers from 1 to m. Now the girl wants to count how many pairs of integers she can choose, one from the first column and the other from the second column, such that their sum is divisible by 5.

Formally, Alyona wants to count the number of pairs of integers (x, y) such that 1 ≤ x ≤ n, 1 ≤ y ≤ m and <image> equals 0.

As usual, Alyona has some troubles and asks you to help.

Input

The only line of the input contains two integers n and m (1 ≤ n, m ≤ 1 000 000).

Output

Print the only integer — the number of pairs of integers (x, y) such that 1 ≤ x ≤ n, 1 ≤ y ≤ m and (x + y) is divisible by 5.

Examples

Input

6 12


Output

14


Input

11 14


Output

31


Input

1 5


Output

1


Input

3 8


Output

5


Input

5 7


Output

7


Input

21 21


Output

88

Note

Following pairs are suitable in the first sample case: 

  * for x = 1 fits y equal to 4 or 9; 
  * for x = 2 fits y equal to 3 or 8; 
  * for x = 3 fits y equal to 2, 7 or 12; 
  * for x = 4 fits y equal to 1, 6 or 11; 
  * for x = 5 fits y equal to 5 or 10; 
  * for x = 6 fits y equal to 4 or 9. 



Only the pair (1, 4) is suitable in the third sample case.
import java.io.*;
import java.util.*;

public class Problem implements Runnable {

    void solve() throws IOException {
        long n = io.readInt();
        long m = io.readInt();
        io.println((n / 5) * (m / 5) +
                (n / 5 + ((n % 5 >= 1) ? 1 : 0)) * (m / 5 + ((m % 5 >= 4) ? 1 : 0)) +
                (n / 5 + ((n % 5 >= 2) ? 1 : 0)) * (m / 5 + ((m % 5 >= 3) ? 1 : 0)) +
                (n / 5 + ((n % 5 >= 3) ? 1 : 0)) * (m / 5 + ((m % 5 >= 2) ? 1 : 0)) +
                (n / 5 + ((n % 5 >= 4) ? 1 : 0)) * (m / 5 + ((m % 5 >= 1) ? 1 : 0)));
    }

    private static FastIO io;
    private static final String FILE_NAME = null;

    public void run() {
        try (FastIO fastIO = new FastIO(FILE_NAME)) {
            io = fastIO;
            solve();
        } catch (IOException e) {
        }
    }

    public static void main(String[] args) {
        new Thread(new Problem()).start();
    }
}

class FastIO implements AutoCloseable {
    private BufferedReader in;
    private PrintWriter out;
    private StringTokenizer st;

    public FastIO() {
        in = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(System.out);
    }

    public FastIO(String file) throws FileNotFoundException {
        if (file == null) {
            in = new BufferedReader(new InputStreamReader(System.in));
            out = new PrintWriter(System.out);
        } else {
            in = new BufferedReader(new FileReader(file + ".in"));
            out = new PrintWriter(file + ".out");
        }
    }

    public void flush() throws IOException {
        out.flush();
    }

    public String readLine() throws IOException {
        st = null;
        return in.readLine();
    }

    public String readToken() throws IOException {
        return nextToken();
    }

    public int readInt() throws IOException {
        return Integer.parseInt(nextToken());
    }

    public long readLong() throws IOException {
        return Long.parseLong(nextToken());
    }

    public double readDouble() throws IOException {
        return Double.parseDouble(nextToken());
    }

    private String nextToken() throws IOException {
        while (st == null || !st.hasMoreTokens()) {
            st = new StringTokenizer(in.readLine());
        }
        return st.nextToken();
    }

    public void print(Object o) {
        out.print(o.toString());
    }

    public void println(Object o) {
        out.println(o.toString());
    }

    @Override
    public void close() throws IOException {
        in.close();
        out.close();
    }
}

