<s>[INST] using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] words = { "apple", "banana", "cherry", "date", "elderberry" };
            var group = words.GroupBy(w => w.Length);

            foreach (var g in group)
            {
                Console.WriteLine(g.Key);
                foreach (var word in g)
                {
                    Console.WriteLine(word);
                }
                Console.WriteLine();
            }

        }
    }
}
```

This C# code groups a list of words by their lengths and prints out the length and all the words of each group.

However, I would like to modify this code to only print out the words that have the most common length (i.e. the length with the highest frequency). 

What is the most efficient way to achieve this?[/INST]