using System.Collections.Generic;
public static void Main()
var usersAndPairsCount = Console.ReadLine().Split(' ').Select(it => int.Parse(it)).ToArray();
var userCount = usersAndPairsCount[0];
var testPairsCount = usersAndPairsCount[1];
var graph = new Dictionary<int, HashSet<int>>();
for (var i = 0; i < testPairsCount; i++)
var friends = Console.ReadLine().Split(' ').Select(it => int.Parse(it)).ToArray();
if(!graph.ContainsKey(friends[0]))
graph.Add(friends[0], new HashSet<int>());
if(!graph.ContainsKey(friends[1]))
graph.Add(friends[1], new HashSet<int>());
graph[friends[0]].Add(friends[1]);
graph[friends[1]].Add(friends[0]);
for(var i=1; i<=userCount; i++)
var frSet = new SortedSet<int>();
MutualFriendsOfUser(i, graph, userCount, frSet);
foreach(var item in frSet)
resString += item.ToString() + " ";
Console.WriteLine(resString.TrimEnd());
public static void MutualFriendsOfUser(int user, Dictionary<int, HashSet<int>> graph, int userCount, SortedSet<int> friendsSet)
for(var j=1; j<=userCount; j++)
if(graph.ContainsKey(user) && !graph[user].Contains(j) && graph.ContainsKey(j)&& j!=user)
var union = graph[j].Intersect(graph[user]);
if( union.Count() > maxFriends){
maxFriends = union.Count();
} else if(union.Count()!=0 && union.Count() == maxFriends)