""" day_03_01.py """

# usage: python3 day_03_01.py


def get(filename):
    """ contents of filename """
    with open(filename, 'r', encoding='utf-8') as infile:
        data = infile.read().strip()

    return data


def test(data, solution):
    """ testing """
    output = solve(data)
    assert output == solution


def solve(data):
    """ solve the puzzle """
    square = int(data)

    i = 1
    while square > i * i:
        i += 2

    value = i * i
    x, y = i // 2, -(i // 2)
    for dx, dy in [(-1, 0), (0, 1), (1, 0), (0, -1)]:
        for _ in range(i - 1):
            if value == square:
                return abs(x) + abs(y)

            value -= 1
            x, y = x + dx, y + dy

    return 0


if __name__ == '__main__':
    test(get('example01'), 0)
    test(get('example02'), 3)
    test(get('example03'), 2)
    test(get('example04'), 31)

    puzzle = get('input')
    x = solve(puzzle)

    print(x)
