<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def reward_pool_balances(self):
        ''' Fetches and returns the 3 values
        needed to calculate the reward pool
        and other associated values such as rshares.
        Returns the reward balance, all recent claims
        and the current price of steem.
        '''
        if self.reward_balance > 0:
            return self.reward_balance
        else:
            reward_fund = self.steem_instance().get_reward_fund()
            self.reward_balance = Amount(
                reward_fund["reward_balance"]).amount
            self.recent_claims = float(reward_fund["recent_claims"])
            self.base = Amount(
                self.steem_instance(
                ).get_current_median_history_price()["base"]
                ).amount
        return [self.reward_balance, self.recent_claims, self.base]