class BankAccount:
    def __init__(self, holder: str, balance: int = 0):
        if balance < 0:
            raise ValueError
        self._balance = balance
        self.holder = holder
    def deposit(self, amount: int):
        if amount < 0:
            raise ValueError
        self._balance += amount
    def withdraw(self, amount: int):
        if amount > self._balance:
            raise ValueError
        self._balance -= amount
    def transfer(self, amount: int, receiver: "BankAccount"):
        if amount > self._balance or amount < 0:
            raise ValueError
        self.withdraw(amount)
        receiver.deposit(amount)
account = BankAccount("esna")
account.deposit(100)
account.withdraw(30)
print(account._balance)
receiver = BankAccount("gregouz")
account.transfer(70, receiver)
print(account._balance)
print(receiver._balance)