Polycarp is reading a book consisting of n pages numbered from 1 to n. Every time he finishes the page with the number divisible by m, he writes down the last digit of this page number. For example, if n=15 and m=5, pages divisible by m are 5, 10, 15. Their last digits are 5, 0, 5 correspondingly, their sum is 10.

Your task is to calculate the sum of all digits Polycarp has written down.

You have to answer q independent queries.

Input

The first line of the input contains one integer q (1 ≤ q ≤ 1000) — the number of queries.

The following q lines contain queries, one per line. Each query is given as two integers n and m (1 ≤ n, m ≤ 10^{16}) — the number of pages in the book and required divisor, respectively.

Output

For each query print the answer for it — the sum of digits written down by Polycarp.

Example

Input


7
1 1
10 1
100 3
1024 14
998244353 1337
123 144
1234312817382646 13


Output


1
45
153
294
3359835
0
427262129093995
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner();
        PrintWriter out = new PrintWriter(System.out);
        int q = sc.nextInt();
        while (q-- > 0) {
            long n = sc.nextLong(), m = sc.nextLong();
            long sum = 0, ans = 0;
            boolean met = false;
            ArrayList<Integer> a = new ArrayList<>();
            for (long i = m; i <= n; i += m) {
                int last = (int) (i % 10);
                sum += last;
                a.add(last);
                int nn = a.size();
                if (nn >= 4 && a.get(0) == a.get(nn - 2) && a.get(1) == a.get(nn - 1)) {
                    int one = a.get(0), two = a.get(1);
                    met = true;
                    long laps = n / (i - 2 * m);
                    sum -= (one + two);
                    ans = sum * laps;
                    for (long j = laps * (i - 2 * m) + m; j <= n; j += m) {
                        last = (int) (j % 10);
                        if (last == 0) break;
                        ans += last;
                    }
                    break;
                }
            }
            if (!met) ans = sum;
            out.println(ans);
        }
        out.flush();
        out.close();
    }


    static class Scanner {
        BufferedReader br;
        StringTokenizer st;

        Scanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

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

        int nextInt() throws IOException {
            return Integer.parseInt(next());
        }

        long nextLong() throws IOException {
            return Long.parseLong(next());
        }

        double nextDouble() throws IOException {
            return Double.parseDouble(next());
        }

        int[] nextIntArray(int n) throws IOException {
            int[] ans = new int[n];
            for (int i = 0; i < n; i++)
                ans[i] = nextInt();
            return ans;
        }

    }


}