import
java.io.*;
import
java.util.*;
class
Pair {
int
x;
int
y;
Pair(
int
x,
int
y) {
this
.x = x;
this
.y = y;
}
@Override
public
boolean
equals(Object o) {
if
(o ==
this
)
return
true
;
if
(!(o
instanceof
Pair))
return
false
;
Pair p = (Pair) o;
return
x == p.x && y == p.y;
}
@Override
public
int
hashCode() {
return
Objects.hash(x, y);
}
}
class
GFG {
public
static
void
print(
int
[] x,
int
[] y,
int
n) {
Map<Pair, Integer> m =
new
HashMap<>();
for
(
int
i =
0
; i < n; i++) {
Pair p =
new
Pair(x[i], y[i]);
m.put(p, m.getOrDefault(p,
0
) +
1
);
}
Map<Pair, Integer> sortedMap =
new
TreeMap<>(
new
Comparator<Pair>() {
@Override
public
int
compare(Pair o1, Pair o2) {
if
(o1.x != o2.x)
return
o1.x - o2.x;
return
o1.y - o2.y;
}
});
sortedMap.putAll(m);
for
(Map.Entry<Pair, Integer> entry : sortedMap.entrySet()) {
Pair p = entry.getKey();
Integer count = entry.getValue();
System.out.println(p.x +
" "
+ p.y +
" "
+ count);
}
}
public
static
void
main(String[] args) {
int
[] x = {
1
,
2
,
1
,
1
,
1
};
int
[] y = {
1
,
1
,
3
,
1
,
3
};
int
n = x.length;
print(x, y, n);
}
}