write a go solution for C. MEX rosetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array a of length n and a number k, where 0<=k<=n.In one operation, you can choose any index i (1<=i<=n) and set a_i to any integer value x from the range [0,n]. Find the minimum number of such operations required to satisfy the condition: operatornameMEX(a)^∗=k^∗The minimum excluded (MEX) of a set of numbers a_1,a_2,...,a_n is the smallest non-negative integer x that does not appear among the a_i.InputEach test consists of several sets of input data. The first line contains one integer t (1<=t<=10^4) — the number of sets of input data. The description of the sets of input data follows.The first line of each set of input data contains two integers n and k (1<=n<=2*10^5,,,0<=k<=n) — the length of the array a and the required operatornameMEX(a). The second line contains n integers a_1,a_2,...,a_n (0<=a_i<=n) — the elements of the array a.It is guaranteed that the sum of the values of n across all sets of input data does not exceed 2*10^5.OutputFor each set of input data, output one integer — the minimum number of operations required to satisfy the condition operatornameMEX(a)=k.ExampleInput51 003 10 2 35 50 1 2 3 46 20 3 4 2 6 27 40 1 5 4 4 7 3Output10022NoteIn the first set of input data, the array a=[0], so operatornameMEX=1. By removing zero (replacing it with any xin[1,n]), we get operatornameMEX=0. Thus, exactly one operation is required.In the third set of input data, the array contains all the numbers 0,1,2,3,4, so operatornameMEX(a)=5 from the start. Since this matches the required k, no changes are needed and the minimum number of operations is 0.. Output only the code with no comments, explanation, or additional text.