import
java.util.*;
class
GFG
{
static
void
SieveOfEratosthenes(
boolean
prime[],
int
p_size)
{
prime[
0
] =
false
;
prime[
1
] =
false
;
for
(
int
p =
2
; p * p <= p_size; p++)
{
if
(prime[p])
{
for
(
int
i = p *
2
; i <= p_size; i += p)
prime[i] =
false
;
}
}
}
static
int
sumOfElements(
int
arr[],
int
n)
{
boolean
prime[] =
new
boolean
[n +
1
];
Arrays.fill(prime,
true
);
SieveOfEratosthenes(prime, n +
1
);
int
i, j;
HashMap<Integer, Integer> m =
new
HashMap<>();
for
(i =
0
; i < n; i++)
{
if
(m.containsKey(arr[i]))
m.put(arr[i], m.get(arr[i]) +
1
);
else
m.put(arr[i],
1
);
}
int
sum =
0
;
for
(Map.Entry<Integer, Integer> entry : m.entrySet())
{
int
key = entry.getKey();
int
value = entry.getValue();
if
(prime[value])
{
sum += (key);
}
}
return
sum;
}
public
static
void
main(String args[])
{
int
arr[] = {
5
,
4
,
6
,
5
,
4
,
6
};
int
n = arr.length;
System.out.println(sumOfElements(arr, n));
}
}