using System;

public class HelloWorld {
  public static void Main(string[] args) {
    // autors: Ginta Varblāne
    // datums: 04.03.2025
    // 2. uzdevums
    // lietoju online programiz.com

    string persona = "GINTA VARBLANE";
    // uzstaisa substrings pēc katras atstarpes un pārmaina uz maziem burtiem
    string[] subs = persona.ToLower().Split(' ');

    // pieliek substrings pie mainīgajiem un sadala pa burtiem, pirmo burtu
    // pārmainīt uz lielo
    string vards = char.ToUpper(subs[0][0]) + subs[0].Substring(1);
    string uzvards = char.ToUpper(subs[1][0]) + subs[1].Substring(1);

    // izvada tekstu + string
    Console.WriteLine("Mans vards: " + vards);
    Console.WriteLine("Mans uzvards: " + uzvards);

    int kolona;
    // šis cikls strādā kamēr kolona ir mazāka par 5, kolonas mainīgo var lietot
    // ārpus cikla
    do {
      Console.Write("Ievadi kolonu skaitu (ne mazak ka 5): ");
    } while (!int.TryParse(Console.ReadLine(), out kolona) || kolona < 5);

    // iet cauri katrai rindai no 1 līdz rindas skaitlim
    for (int i = 1; i <= kolona; i++) {
      // ja vietā ir cipars tad izvada tekstu
      for (int j = kolona - 1; j >= 0; j--) {
        if (i - j > 0) {
          Console.Write("+---");
        } else {
          Console.Write("    ");
        }
      }
      Console.Write("+");
      // pāriet uz nākamo rindu
      Console.WriteLine();

      // iet cauri kolonām
      for (int j = kolona - 1; j >= 0; j--) {
        if (i - j > 0) {
          // ja ir derīgs skaitlis tad izvada tekstu
          Console.Write($"|{i - j,2} ");
        } else {
          Console.Write("    ");
        }
      }
      // izvada pēdējo vertikālo robežu
      Console.WriteLine("|");
    }

    // apakšējā līnija pēdējai rindai
    for (int j = kolona - 1; j >= 0; j--) {
      // ja ir derīgs skaitlis, tad izvada tekstu
      if (kolona - j > 0) {
        Console.Write("+---");
      } else {
      }
    }

    for (int i = 1; i <= kolona; i++) {
      // izvada augšējo līniju
      for (int j = 1; j <= i && j <= kolona; j++) {
        Console.Write("+---");
      }
      Console.Write("+");
      Console.WriteLine();

      Console.Write("|");

      // ja ir derīgs skaitlis tad izvada tekstu
      for (int j = 1; j <= i && j <= kolona; j++) {
        Console.Write($" {j} |");
      }
      Console.WriteLine();
    }

    // izvada pēdējo līniju
    Console.Write("+");
    for (int j = 0; j < kolona; j++) {
      Console.Write("---+");
    }
    Console.WriteLine();
  }
}
