Let's call beauty of an array b_1, b_2, …, b_n (n > 1) — min_{1 ≤ i < j ≤ n} |b_i - b_j|.

You're given an array a_1, a_2, … a_n and a number k. Calculate the sum of beauty over all subsequences of the array of length exactly k. As this number can be very large, output it modulo 998244353.

A sequence a is a subsequence of an array b if a can be obtained from b by deletion of several (possibly, zero or all) elements.

Input

The first line contains integers n, k (2 ≤ k ≤ n ≤ 1000).

The second line contains n integers a_1, a_2, …, a_n (0 ≤ a_i ≤ 10^5).

Output

Output one integer — the sum of beauty over all subsequences of the array of length exactly k. As this number can be very large, output it modulo 998244353.

Examples

Input


4 3
1 7 3 5


Output


8

Input


5 5
1 10 100 1000 10000


Output


9

Note

In the first example, there are 4 subsequences of length 3 — [1, 7, 3], [1, 3, 5], [7, 3, 5], [1, 7, 5], each of which has beauty 2, so answer is 8.

In the second example, there is only one subsequence of length 5 — the whole array, which has the beauty equal to |10-1| = 9.

import java.util.Arrays;
import java.util.Scanner;

public class ArrayBeauty {

	public static void main(String[] args) {
		
//		long start = System.currentTimeMillis();
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int r = scan.nextInt();
		int[] seq = new int[n];
		
		for (int i = 0; i < n; i++)
			seq[i] = scan.nextInt();
		
		scan.close();
		Arrays.sort(seq);
		int answer = 0;
		int[] aux = new int[n];
		int mod = 998244353;
		
		for (int i = 1; i * (r - 1) <= seq[n - 1] - seq[0]; i++) {
			
			Arrays.fill(aux, 1);
			
			for (int j = 1; j < r; j++) {
				
				for (int k = 1; k < n; k++)
					aux[k] = (aux[k] + aux[k - 1]) % mod;
				
				for (int l = n - 1, m = l; l >= 0; l--) {
					
					while (m >= 0 && seq[l] - seq[m] < i)
						m--;
					
					if (m >= 0)
						aux[l] = aux[m];
					else
						aux[l] = 0;
					
				}
				
			}
			
			for (int m = 0; m < n; m++)
				answer = (answer + aux[m]) % mod;
			
		}
		
//		System.out.println();
//		System.out.println("Answer is: " +answer);
		System.out.println(answer);
		
//		long finish = System.currentTimeMillis();
//		long dur = finish - start;
//		System.out.println("Time spent: " +dur);
		
	}

}
