<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _format_localizable_token(self, dt, token, locale):
 """ Formats a DateTime instance with a given localizable token and locale. :param dt: The instance to format :type dt: pendulum.DateTime :param token: The token to use :type token: str :param locale: The locale to use :type locale: Locale :rtype: str """

        if token == "MMM":
            return locale.get("translations.months.abbreviated")[dt.month]
        elif token == "MMMM":
            return locale.get("translations.months.wide")[dt.month]
        elif token == "dd":
            return locale.get("translations.days.short")[dt.day_of_week]
        elif token == "ddd":
            return locale.get("translations.days.abbreviated")[dt.day_of_week]
        elif token == "dddd":
            return locale.get("translations.days.wide")[dt.day_of_week]
        elif token == "Do":
            return locale.ordinalize(dt.day)
        elif token == "do":
            return locale.ordinalize(dt.day_of_week)
        elif token == "Mo":
            return locale.ordinalize(dt.month)
        elif token == "Qo":
            return locale.ordinalize(dt.quarter)
        elif token == "wo":
            return locale.ordinalize(dt.week_of_year)
        elif token == "DDDo":
            return locale.ordinalize(dt.day_of_year)
        elif token == "A":
            key = "translations.day_periods"
            if dt.hour >= 12:
                key += ".pm"
            else:
                key += ".am"

            return locale.get(key)
        else:
            return token