public static void Main()
new { Name = "Tlr 1", Title = "TLR", Points = 1 },
new { Name = "Tlr 2", Title = "TLR", Points = 2 },
new { Name = "Fsr 1", Title = "FSR", Points = 3 },
new { Name = "Fsr 2", Title = "FSR", Points = 4 },
new { Name = "Fsr 3", Title = "FSR", Points = 4 },
new { Name = "Mgr 1", Title = "MGR", Points = 4 },
new { Name = "Mgr 2", Title = "MGR", Points = 4 },
new { Name = "Mgr 3", Title = "MGR", Points = 5 },
}.OrderByDescending(x => x.Points)
new { Employee = y, Rank = i + 1 })
.GroupBy(y => y.Employee.Points)
.SelectMany(pointGroup =>
new { Name = z.Employee.Name, Title = z.Employee.Title, Rank = pointGroup.Min(w => w.Rank) }))
foreach (var employee in employees)
Console.WriteLine(employee);