import
java.util.*;
class
GFG
{
static
long
maxProd(
int
arr[],
int
n,
int
k)
{
long
product =
1
;
HashMap<Integer,Integer> s =
new
HashMap<Integer,Integer>();
Arrays.sort(arr);
for
(
int
i =
0
; i < n; i++)
{
if
(s.containsKey(arr[i]) ==
false
)
{
product = product * arr[i];
s.put(arr[i],
1
);
}
else
s.put(arr[i],s.get(arr[i]) +
1
);
}
for
(
int
j = n -
1
; j >=
0
&& k >
0
; j--)
{
if
((k > (s.get(arr[j]) -
1
)) &&
((s.get(arr[j]) -
1
) >
0
))
{
product *= Math.pow(arr[j], s.get(arr[j]) -
1
);
k = k - s.get(arr[j]) +
1
;
s.put(arr[j],
0
);
}
if
(k <= (s.get(arr[j]) -
1
) &&
((s.get(arr[j]) -
1
) >
0
))
{
product *= Math.pow(arr[j], k);
break
;
}
}
return
product;
}
public
static
void
main (String[] args)
{
int
arr[] = {
5
,
6
,
7
,
8
,
2
,
5
,
6
,
8
};
int
n = arr.length;
int
k =
2
;
System.out.println(maxProd(arr, n, k));
}
}