using System.Collections.Generic;
public static void Main()
List<string> x = new List<string>
{ "001", "002", "003", "004", "005",
"006", "007", "008", "009", "010",
"011", "012", "013", "014", "015",
"016", "017", "018", "019", "020" };
List<string> final = new List<string>();
for (int i = 0; i < (firstPosition - 1); i++)
int labels = rows * columns;
int pages = x.Count() / labels + ((x.Count() % labels) == 0 ? 0 : 1);
Console.WriteLine("Total labels {0}", x.Count());
Console.WriteLine("Total labels per page {0}", labels);
Console.WriteLine("Total pages {0}", pages);
for (int page = 0; page < pages; page++)
for (int i = 0; i < columns; i++)
var h = x.Skip(page * labels).Where((c, index) => index % columns == i).Take(rows).ToList();
for (int j = 0; j < r; j++)
for (int page = 0; page < pages; page++)
Console.WriteLine("Page={0}", (page + 1));
for (int row = 0; row < rows; row++)
for (int column = 0; column < columns; column++)
int position = (page * labels) + (column * rows) + row;
if (position < final.Count())
s += ((column == 0) ? "" : "\t") + final[position];