using System;
using System.Linq;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
string input = "3, 7, 12-14, 1, 5-6";
List<int> all = input.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(r => new
{
Range = r,
Parts = r.Split(new[] { '-' }, StringSplitOptions.RemoveEmptyEntries)
.Select(p => int.Parse(p))
})
.SelectMany(x => Enumerable.Range(x.Parts.First(), 1 + x.Parts.Last() - x.Parts.First()))
.ToList();
foreach(int i in all)
Console.WriteLine(i);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgc3RyaW5nIGlucHV0ID0gIjMsIDcsIDEyLTE0LCAxLCA1LTYiOwogICAgICAgIExpc3Q8aW50PiBhbGwgPSBpbnB1dC5TcGxpdChuZXdbXSB7ICcsJyB9LCBTdHJpbmdTcGxpdE9wdGlvbnMuUmVtb3ZlRW1wdHlFbnRyaWVzKQogICAgICAgIC5TZWxlY3QociA9PiBuZXcKICAgICAgICB7CiAgICAgICAgICAgIFJhbmdlID0gciwKICAgICAgICAgICAgUGFydHMgPSByLlNwbGl0KG5ld1tdIHsgJy0nIH0sIFN0cmluZ1NwbGl0T3B0aW9ucy5SZW1vdmVFbXB0eUVudHJpZXMpCiAgICAgICAgICAgICAgICAgICAgIC5TZWxlY3QocCA9PiBpbnQuUGFyc2UocCkpCiAgICAgICAgfSkKICAgICAgICAuU2VsZWN0TWFueSh4ID0+IEVudW1lcmFibGUuUmFuZ2UoeC5QYXJ0cy5GaXJzdCgpLCAxICsgeC5QYXJ0cy5MYXN0KCkgLSB4LlBhcnRzLkZpcnN0KCkpKQogICAgICAgIC5Ub0xpc3QoKTsKICAgICAgICAKICAgICAgICBmb3JlYWNoKGludCBpIGluIGFsbCkKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoaSk7Cgl9Cn0=