using System.Collections.Generic;
var l2 = new List<int>{1,3,2,3,4,5};
var l1 = new List<int>{11,33};
var res = MergeListStagger<int>(l1,l2,120);
Console.WriteLine(string.Join(",",res));
public List<T> MergeListStagger<T>(List<T> list1, List<T> list2 , int num = 1)
var Size = Math.Min(list1.Count, list2.Count);
for (int n = 0; n < num && i + n < Size; n++)
for (int n = 0; n < num && i + n < Size; n++)
i = Math.Min(i + num - 1, Size) + 1;
if (list1.Count > list2.Count)
res.AddRange(list1.Skip(Size));
else if (list1.Count < list2.Count)
res.AddRange(list2.Skip(Size));