text: from abc import ABC, abstractmethod
  
  
  class Conta(ABC):
      def __init__(self, agencia, conta, saldo):
          self.agencia = agencia
          self.conta = conta
          self.saldo = saldo
  
      @abstractmethod
      def sacar():
          pass
  
      def depositar(self, valor):
          self.saldo += valor
          self.detalhes()
  
      def detalhes(self):
          print(f'Agência: {self.agencia} '
                f'Conta: {self.conta} '
                f'Saldo: {self.saldo} ')
  
  
  class ContaPoupanca(Conta):
      def sacar(self, valor):
          if self.saldo < valor:
              print('O valor ultrapassa o saldo disponivel!')
              return
  
          self.saldo -= valor
          self.detalhes()
  
  
  class ContaCorrente(Conta):
      def __init__(self, agencia, conta, saldo, limite=100):
          super().__init__(agencia, conta, saldo)
          self.limite = limite
  
      def sacar(self, valor):
          if (self.saldo + self.limite) < valor:
              print('O valor ultrapassa o saldo disponivel!')
              return
  
          self.saldo -= valor
          self.detalhes()
  