Sorting data by first column name value and add 3 empty rows between them

One of many approaches is to group the data by the first column value
(Non-LINQ, LINQ Approach)