import
java.io.*;
import
java.util.*;
class
GFG{
static
void
maxDifferent(
int
arr[],
int
N,
int
K)
{
HashMap<Integer,
Integer> M =
new
HashMap<Integer,
Integer>();
for
(
int
i =
0
; i < N; i++)
{
Integer count = M.get(arr[i]);
if
(count ==
null
)
{
M.put(arr[i],
1
);
}
else
{
M.put(arr[i], count +
1
);
}
}
Iterator<Map.Entry<Integer,
Integer>> itr = M.entrySet().iterator();
int
[] ar1 =
new
int
[N];
while
(itr.hasNext())
{
Map.Entry<Integer, Integer> Element = itr.next();
int
current_element = (
int
)Element.getKey();
int
count = (
int
)Element.getValue();
if
(count ==
1
)
continue
;
ar1[current_element + K]++;
}
for
(
int
i =
0
; i < N; i++)
{
if
(ar1[i] >=
0
)
{
Integer count = M.get(ar1[i]);
if
(count ==
null
)
{
M.put(ar1[i],
1
);
}
else
{
M.put(ar1[i], count +
1
);
}
}
}
System.out.println(M.size());
}
public
static
void
main(String[] args)
{
int
arr[] = {
2
,
3
,
2
,
4
,
5
,
5
,
7
,
4
};
int
K =
2
;
int
N = arr.length;
maxDifferent(arr, N, K);
}
}