write a go solution for Description: We define xbmody as the remainder of division of x by y (% operator in C++ or Java, mod operator in Pascal). Let's call an array of positive integers [a_1,a_2,...,a_k] stable if for every permutation p of integers from 1 to k, and for every non-negative integer x, the following condition is met: (((xbmoda_1)bmoda_2)...bmoda_k-1)bmoda_k=(((xbmoda_p_1)bmoda_p_2)...bmoda_p_k-1)bmoda_p_k That is, for each non-negative integer x, the value of (((xbmoda_1)bmoda_2)...bmoda_k-1)bmoda_k does not change if we reorder the elements of the array a. For two given integers n and k, calculate the number of stable arrays [a_1,a_2,...,a_k] such that 1<=a_1<a_2<...<a_k<=n. Input Format: The only line contains two integers n and k (1<=n,k<=5*10^5). Output Format: Print one integer — the number of stable arrays [a_1,a_2,...,a_k] such that 1<=a_1<a_2<...<a_k<=n. Since the answer may be large, print it modulo 998244353. Note: None. Output only the code with no comments, explanation, or additional text.