# Arup Guha
# 9/29/2021
# Program to Generate Random cases for COP 3502 Program 2

import random

# Prints one case of size n.
def rndCase(n):

    # Will keep track of points.
    pts = []

    # Makes sure we don't have duplicates.
    used = set()

    # Keep going till we have enough points.
    while len(pts) < 2*n:

        # Generate a random point.
        x = random.randint(-10000, 10000)
        y = random.randint(-10000, 10000)

        # This code is unique per point
        code = (x+10000)*100000 + (y+10000)

        # We've done this point before so skip it.
        if code in used:
            continue

        # Add the point and mark it in our set so we don't use it again.
        used.add(code)
        pts.append((x,y))

    # Print the case.
    print(n)
    for i in range(len(pts)):
        print(pts[i][0],pts[i][1])

# This makes 7 cases fo size 6, 3 cases of size 7 and 1 case of size 8
def main():
    for i in range(7):
        rndCase(6)
    for i in range(3):
        rndCase(7)
    rndCase(8)

# Go
main()
