using System;
using System.Globalization;
class CalendarPrinter
{
public static void PrintMonth(int year, int month) {
var firstDay = new DateTime(year, month, 1);
int daysInMonth = DateTime.DaysInMonth(year, month);
string monthName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month);
Console.WriteLine($" {monthName} {year}");
Console.WriteLine("Su Mo Tu We Th Fr Sa");
// Sunday = 0, Monday = 1, ..., Saturday = 6
int offset = (int)firstDay.DayOfWeek;
for (int i = 0; i < offset; i++)
Console.Write(" ");
for (int day = 1; day <= daysInMonth; day++) {
Console.Write($"{day,2} ");
if ((offset + day) % 7 == 0)
Console.WriteLine();
}
Console.WriteLine();
}
static void Main()
{
PrintMonth(2026, 1);
}
}
/*
run:
January 2026
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
*/