# your code goes here

import timeit

setup1 = """
import numpy as np

def my_unit_circle(r):
    d = 2*r + 1
    rx, ry = d/2, d/2
    x, y = np.indices((d, d))
    return (np.abs(np.hypot(rx - x, ry - y) - r) < 0.5).astype(int)
"""

setup2 = """
import numpy as np

def unit_circle_vectorized(r):
    A = np.arange(-r,r+1)**2
    dists = np.sqrt(A[:,None] + A)
    return (np.abs(dists-r)<0.5).astype(int)
"""
    
print(timeit.timeit("my_unit_circle(100)", setup=setup1, number=100))
print(timeit.timeit("unit_circle_vectorized(100)", setup=setup2, number=100))



