public static void Main()
int activePageNumber = 10;
int pagesToRight = (pagesToShow - activePageNumber);
int minPagesToRight = (pagesToShow / 2);
if (pagesToRight < minPagesToRight)
pagesToRight = minPagesToRight;
int upperPage = Math.Min(activePageNumber + pagesToRight, upperLimit);
Console.WriteLine(Math.Min(activePageNumber + pagesToRight, upperLimit));
int pagesToLeft = activePageNumber - (pagesToShow - (upperPage - activePageNumber));
int maxPagesToLeft = pagesToShow;
if (pagesToLeft > maxPagesToLeft)
pagesToLeft = maxPagesToLeft;
Console.WriteLine(Math.Max(pagesToLeft + 1, lowerLimit));