def square(number: int) -> int:
    """

    :param number: int: The square number at which number of grains are to be determined
    :return: int: The number of grains in the given square
    :raises: ValueError: If number is not in range [1, 64]
    """
    if 0 < number <= 64:
        return 2 ** (number - 1)
    raise ValueError("Invalid square number !!")