solution: /submissions/accepted/mike.cpp
version: 2025-02

data:
  sample:
    data:
      - '':
          in: "send\n42"
          interaction: |
              <send
              <42
              >814 734 58 792 286 974 893 735
              > 538 498 916 163 226 32 160 659
              > 980 994 775 334 44 492 276 983
              > 398 885 179 888 755 121
              ---
              <receive
              <286 58
              >42
              ---
              <receive
              <163 492
              >42

  secret:
    data:
      - powersOf2: {in: "send\n2"}
      - powersOf2: {in: "send\n4"}
      - powersOf2: {in: "send\n8"}
      - powersOf2: {in: "send\n16"}
      - powersOf2: {in: "send\n32"}
      - powersOf2: {in: "send\n64"}
      - powersOf2: {in: "send\n128"}
      - powersOf2: {in: "send\n256"}
      - powersOf2: {in: "send\n512"}
      - powersOf2minus1: {in: "send\n1"}
      - powersOf2minus1: {in: "send\n3"}
      - powersOf2minus1: {in: "send\n7"}
      - powersOf2minus1: {in: "send\n15"}
      - powersOf2minus1: {in: "send\n31"}
      - powersOf2minus1: {in: "send\n63"}
      - powersOf2minus1: {in: "send\n127"}
      - powersOf2minus1: {in: "send\n255"}
      - powersOf2minus1: {in: "send\n511"}
      - random:
          generate: rand.py {seed:2}  # Explicitly use a different seed to avoid clashes with existing test cases
          count: 10
      - max: {in: "send\n598"}
      - max: {in: "send\n599"}
      - max: {in: "send\n600"}
      - primes: {in: "send\n37"}
      - primes: {in: "send\n73"}
      - primes: {in: "send\n131"}
      - primes: {in: "send\n179"}
      - primes: {in: "send\n233"}
      - primes: {in: "send\n283"}
      - primes: {in: "send\n353"}
      - primes: {in: "send\n419"}
      - primes: {in: "send\n467"}
      - primes: {in: "send\n547"}
      - alotofprimes: {in: "send\n210"} # 2*3*5*7
      - alotofprimes: {in: "send\n462"} # 2*3*7*11
      - alotofprimes: {in: "send\n105"} # 3*5*7
      - alotofprimes: {in: "send\n165"} # 3*5*11
      - doubleprimes: {in: "send\n6"} # 2*3
      - doubleprimes: {in: "send\n21"} # 3*7
      - doubleprimes: {in: "send\n35"} # 5*7
      - doubleprimes: {in: "send\n143"} # 11*13
      - doubleprimes: {in: "send\n589"} # 19*31
      - doubleprimes: {in: "send\n551"} # 19*29
      - doubleprimes: {in: "send\n391"} # 17*23

  invalid_input:
    # Add invalid test cases to ensure that input_validators correctly rejects them.
    data: []
      #invalid_test_case_input:
      #  in: "<invalid input>"

  invalid_answer:
    # Add valid test cases with invalid answers to ensure that the answer_validators correctly rejects them.
    # (The output validator is also called with these)
    data: []
      #invalid_test_case_answer:
      #  in: "<valid input>"
      #  ans: "<invalid answer>"

  invalid_output:
    # Add valid test cases with answer and invalid team output to ensure that the output_validator correctly rejects them.
    data: []
      #invalid_test_case_output:
      #    in: "<valid input>"
      #    ans: "<valid answer>"
      #    out: "<invalid output>"

  valid_output:
    # Add valid test cases with answer and team output to ensure that the output_validator correctly accepts them.
    data: []
      #valid_test_case_output:
      #    in: "<valid input>"
      #    ans: "<valid answer>"
      #    out: "<valid output>"
