static void Main(string[] args)
        {
            FriendGraph friendGraph = new FriendGraph();

            var readLine = Console.ReadLine();
            while (readLine != String.Empty)
            {
                readLine = readLine.Trim();
                var spliter = readLine.IndexOf(":", StringComparison.Ordinal);
                var person = readLine.Substring(0, spliter);

                var friends = readLine.Substring(spliter + 2, readLine.Length - 3).Split(',');
                //friends = friends.Split(',').ToString();

                if (friendGraph.PersonGraph.Count == 0)
                {
                    var rootPerson = new Person(person);
                    foreach (var friend in friends)
                    {
                        var friendNode = new Person(friend.ToString());
                        friendNode.IsFriendOf(rootPerson);
                        friendGraph.PersonGraph.Add(friend.ToString(), friendNode);
                    }
                    friendGraph.PersonGraph.Add(person, rootPerson);
                }

                else
                {
                    Person rootPerson;
                    if (!friendGraph.PersonGraph.TryGetValue(person, out rootPerson))
                    {
                        rootPerson = new Person(person);
                    }

                    foreach (var friend in friends)
                    {
                        Person friendPerson;
                        if (!friendGraph.PersonGraph.TryGetValue(friend.ToString(), out friendPerson))
                        {
                            friendPerson = new Person(friend.ToString());
                            friendPerson.IsFriendOf(rootPerson);
                            friendGraph.PersonGraph.Add(friend.ToString(), friendPerson);
                        }
                        else
                        {
                            friendPerson.IsFriendOf(rootPerson);
                            ////friendGraph.PersonGraph.Add(friend.ToString(), friendPerson);
                        }
                    }
                    friendGraph.PersonGraph[person] = rootPerson;
                }

                readLine = Console.ReadLine();
            }

            friendGraph.Bfs("A");
            Console.Read();
        }
 public void IsFriendOf(Person friend)
 {
     this.Friends.Add(friend);
     friend.Friends.Add(this);
 }