#!/usr/bin/python3
class Square:
    """ Defines a square by its size
    """
    def __init__(self, size=0, position=(0, 0)):
        """ Method to initialize the square object
        """
        self.size = size
        self.position = position

    @property
    def size(self):
        """ Return the size value
        """
        return self.__size

    @size.setter
    def size(self, value):
        """ Set the size of the square
        """
        if not isinstance(value, int):
            raise TypeError("size must be an integer")
        if value < 0:
            raise ValueError("size must be >= 0")
        self.__size = value

    @property
    def position(self):
        """ Return the position
        """
        return self.__position

    @position.setter
    def position(self, value):
        """ Set the position of a square
        """
        if type(value) is not tuple or len(value) != 2 or \
           type(value[0]) is not int or value[0] < 0 or \
           type(value[1]) is not int or value[1] < 0:
            raise TypeError("position must be a tuple of 2 positive integers")
        else:
            self.__position = value

    def area(self):
        """ Return the square of the object
        """
        return (self.__size ** 2)

    def my_print(self):
        """ Prints a # square
        """
        if self.size == 0:
            print()
        else:
            for i in range(self.position[1]):
                print()
            for i in range(0, self.size):
                for k in range(self.position[0]):
                    print(" ", end='')
                for j in range(self.size):
                    print("#", end='')
                print()

d4cd05fff65198bfcac0d443711f597e431ed526
class Square:
    <mask token>

    def __init__(self, size=0, position=(0, 0)):
        """ Method to initialize the square object
        """
        self.size = size
        self.position = position

    @property
    def size(self):
        """ Return the size value
        """
        return self.__size
    <mask token>

    @property
    def position(self):
        """ Return the position
        """
        return self.__position

    @position.setter
    def position(self, value):
        """ Set the position of a square
        """
        if type(value) is not tuple or len(value) != 2 or type(value[0]
            ) is not int or value[0] < 0 or type(value[1]) is not int or value[
            1] < 0:
            raise TypeError('position must be a tuple of 2 positive integers')
        else:
            self.__position = value

    def area(self):
        """ Return the square of the object
        """
        return self.__size ** 2
    <mask token>

class Square:
    <mask token>

    def __init__(self, size=0, position=(0, 0)):
        """ Method to initialize the square object
        """
        self.size = size
        self.position = position

    @property
    def size(self):
        """ Return the size value
        """
        return self.__size

    @size.setter
    def size(self, value):
        """ Set the size of the square
        """
        if not isinstance(value, int):
            raise TypeError('size must be an integer')
        if value < 0:
            raise ValueError('size must be >= 0')
        self.__size = value

    @property
    def position(self):
        """ Return the position
        """
        return self.__position

    @position.setter
    def position(self, value):
        """ Set the position of a square
        """
        if type(value) is not tuple or len(value) != 2 or type(value[0]
            ) is not int or value[0] < 0 or type(value[1]) is not int or value[
            1] < 0:
            raise TypeError('position must be a tuple of 2 positive integers')
        else:
            self.__position = value

    def area(self):
        """ Return the square of the object
        """
        return self.__size ** 2
    <mask token>

class Square:
    <mask token>

    def __init__(self, size=0, position=(0, 0)):
        """ Method to initialize the square object
        """
        self.size = size
        self.position = position

    @property
    def size(self):
        """ Return the size value
        """
        return self.__size

    @size.setter
    def size(self, value):
        """ Set the size of the square
        """
        if not isinstance(value, int):
            raise TypeError('size must be an integer')
        if value < 0:
            raise ValueError('size must be >= 0')
        self.__size = value

    @property
    def position(self):
        """ Return the position
        """
        return self.__position

    @position.setter
    def position(self, value):
        """ Set the position of a square
        """
        if type(value) is not tuple or len(value) != 2 or type(value[0]
            ) is not int or value[0] < 0 or type(value[1]) is not int or value[
            1] < 0:
            raise TypeError('position must be a tuple of 2 positive integers')
        else:
            self.__position = value

    def area(self):
        """ Return the square of the object
        """
        return self.__size ** 2

    def my_print(self):
        """ Prints a # square
        """
        if self.size == 0:
            print()
        else:
            for i in range(self.position[1]):
                print()
            for i in range(0, self.size):
                for k in range(self.position[0]):
                    print(' ', end='')
                for j in range(self.size):
                    print('#', end='')
                print()

class Square:
    """ Defines a square by its size
    """

    def __init__(self, size=0, position=(0, 0)):
        """ Method to initialize the square object
        """
        self.size = size
        self.position = position

    @property
    def size(self):
        """ Return the size value
        """
        return self.__size

    @size.setter
    def size(self, value):
        """ Set the size of the square
        """
        if not isinstance(value, int):
            raise TypeError('size must be an integer')
        if value < 0:
            raise ValueError('size must be >= 0')
        self.__size = value

    @property
    def position(self):
        """ Return the position
        """
        return self.__position

    @position.setter
    def position(self, value):
        """ Set the position of a square
        """
        if type(value) is not tuple or len(value) != 2 or type(value[0]
            ) is not int or value[0] < 0 or type(value[1]) is not int or value[
            1] < 0:
            raise TypeError('position must be a tuple of 2 positive integers')
        else:
            self.__position = value

    def area(self):
        """ Return the square of the object
        """
        return self.__size ** 2

    def my_print(self):
        """ Prints a # square
        """
        if self.size == 0:
            print()
        else:
            for i in range(self.position[1]):
                print()
            for i in range(0, self.size):
                for k in range(self.position[0]):
                    print(' ', end='')
                for j in range(self.size):
                    print('#', end='')
                print()

#!/usr/bin/python3
class Square:
    """ Defines a square by its size
    """
    def __init__(self, size=0, position=(0, 0)):
        """ Method to initialize the square object
        """
        self.size = size
        self.position = position

    @property
    def size(self):
        """ Return the size value
        """
        return self.__size

    @size.setter
    def size(self, value):
        """ Set the size of the square
        """
        if not isinstance(value, int):
            raise TypeError("size must be an integer")
        if value < 0:
            raise ValueError("size must be >= 0")
        self.__size = value

    @property
    def position(self):
        """ Return the position
        """
        return self.__position

    @position.setter
    def position(self, value):
        """ Set the position of a square
        """
        if type(value) is not tuple or len(value) != 2 or \
           type(value[0]) is not int or value[0] < 0 or \
           type(value[1]) is not int or value[1] < 0:
            raise TypeError("position must be a tuple of 2 positive integers")
        else:
            self.__position = value

    def area(self):
        """ Return the square of the object
        """
        return (self.__size ** 2)

    def my_print(self):
        """ Prints a # square
        """
        if self.size == 0:
            print()
        else:
            for i in range(self.position[1]):
                print()
            for i in range(0, self.size):
                for k in range(self.position[0]):
                    print(" ", end='')
                for j in range(self.size):
                    print("#", end='')
                print()
