import
java.util.Arrays;
import
java.util.HashMap;
import
java.util.Map;
import
java.util.Vector;
class
GFG{
static
int
stringPower(String s)
{
int
power =
0
;
int
n = s.length();
char
C[] = s.toCharArray();
for
(
int
i =
0
; i < n; i++)
{
power = (power + (C[i])) %
26
;
}
return
power;
}
static
void
categorisation_Of_strings(Vector<String> s,
int
N)
{
Map<Integer, Vector<String> > mp =
new
HashMap<>();
for
(
int
i =
0
; i < N; i++)
{
int
temp = stringPower(s.get(i));
if
(mp.containsKey(temp))
{
mp.get(temp).add(s.get(i));
}
else
{
mp.put(temp,
new
Vector<String>());
mp.get(temp).add(s.get(i));
}
}
for
(Map.Entry<Integer,
Vector<String>> entry : mp.entrySet())
{
for
(String str : entry.getValue())
{
System.out.print(str +
" "
);
}
System.out.println();
}
}
public
static
void
main(String[] args)
{
String[] Sarr = {
"adf"
,
"aahe"
,
"bce"
,
"bgdb"
};
Vector<String> arr =
new
Vector<String>(
Arrays.asList(Sarr));
int
N = arr.size();
categorisation_Of_strings(arr, N);
}
}