<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_scores(self, beatmap_id, *, username=None, mode=OsuMode.osu, mods=None, limit=50):
 """Get the top scores for a given beatmap. Parameters beatmap_id Individual Beatmap ID to lookup. username : str or int A `str` representing the user's username, or an `int` representing the user's id. If specified, restricts returned scores to the specified user. mode : :class:`osuapi.enums.OsuMode` The osu! game mode for which to look up. Defaults to osu!standard. mods : :class:`osuap:class:`osuapi.enums.OsuMod` If specified, restricts returned scores to the specified mods. limit Number of results to return. Defaults to 50, maximum 100. """

        return self._make_req(endpoints.SCORES, dict(
            k=self.key,
            b=beatmap_id,
            u=username,
            type=_username_type(username),
            m=mode.value,
            mods=mods.value if mods else None,
            limit=limit), JsonList(BeatmapScore))