human
Can you solve the below in PYTHON3?
The Hat is a game of speedy explanation/guessing words (similar to Alias). It's fun. Try it! In this problem, we are talking about a variant of the game when the players are sitting at the table and everyone plays individually (i.e. not teams, but individual gamers play).

n people gathered in a room with m tables (n ≥ 2m). They want to play the Hat k times. Thus, k games will be played at each table. Each player will play in k games.

To do this, they are distributed among the tables for each game. During each game, one player plays at exactly one table. A player can play at different tables.

Players want to have the most "fair" schedule of games. For this reason, they are looking for a schedule (table distribution for each game) such that:

  * At any table in each game there are either ⌊n/m⌋ people or ⌈n/m⌉ people (that is, either n/m rounded down, or n/m rounded up). Different numbers of people can play different games at the same table.
  * Let's calculate for each player the value b_i — the number of times the i-th player played at a table with ⌈n/m⌉ persons (n/m rounded up). Any two values of b_imust differ by no more than 1. In other words, for any two players i and j, it must be true |b_i - b_j| ≤ 1. 


For example, if n=5, m=2 and k=2, then at the request of the first item either two players or three players should play at each table. Consider the following schedules:

  * First game: 1, 2, 3 are played at the first table, and 4, 5 at the second one. The second game: at the first table they play 5, 1, and at the second — 2, 3, 4. This schedule is not "fair" since b_2=2 (the second player played twice at a big table) and b_5=0 (the fifth player did not play at a big table).
  * First game: 1, 2, 3 are played at the first table, and 4, 5 at the second one. The second game: at the first table they play 4, 5, 2, and at the second one — 1, 3. This schedule is "fair": b=[1,2,1,1,1] (any two values of b_i differ by no more than 1). 


Find any "fair" game schedule for n people if they play on the m...

=====
Can you provide a Python code to find any "fair" game schedule for n people if they play on the m?
assistant
#Here is Python code to find any "fair" game schedule for n people if they play on the m.

def solve():
    n, m, k = readIntArr()
    
    # assume n % m != 0
    smallPeople = n // m # number of people at smallTable
    largePeople = smallPeople + 1
    smallTable = largePeople * m - n # number of small Tables
    largeTable = m - smallTable
    
    ans = []
    largeIdx = 0
    for roundd in range(k):
        # put large tables
        for _ in range(largeTable):
            arr = [largePeople]
            for __ in range(largePeople):
                arr.append(largeIdx + 1)
                largeIdx += 1
                largeIdx %= n
            ans.append(arr)
        # put small tables
        smallIdx = largeIdx
        for _ in range(smallTable):
            arr = [smallPeople]
            for __ in range(smallPeople):
                arr.append(smallIdx + 1)
                smallIdx += 1
                smallIdx %= n
            ans.append(arr)
        ans.append([''])
    multiLineArrayOfArraysPrint(ans)

def main():
    
    t = int(input())
    for _ in range(t):
        solve()
        print()
    
    return

import sys
input=sys.stdin.buffer.readline #FOR READING PURE INTEGER INPUTS (space separation ok)
# input=lambda: sys.stdin.readline().rstrip("\r\n") #FOR READING STRING/TEXT INPUTS.

def oneLineArrayPrint(arr):
    print(' '.join([str(x) for x in arr]))
def multiLineArrayPrint(arr):
    print('\n'.join([str(x) for x in arr]))
def multiLineArrayOfArraysPrint(arr):
    print('\n'.join([' '.join([str(x) for x in y]) for y in arr]))
 
def readIntArr():
    return [int(x) for x in input().split()]
# def readFloatArr():
#     return [float(x) for x in input().split()]
 
def makeArr(defaultValFactory,dimensionArr): # eg. makeArr(lambda:0,[n,m])
    dv=defaultValFactory;da=dimensionArr
    if len(da)==1:return [dv() for _ in range(da[0])]
    else:return [makeArr(dv,da[1:]) for _ in range(da[0])]
 
def queryInteractive(a, b, c):
    print('? {} {} {}'.format(a, b, c))
    sys.stdout.flush()
    return int(input())
 
def answerInteractive(ansArr):
    print('! {}'.format('...