
from collections import defaultdict
def solution(genres, plays):
genre_songs = defaultdict(list)
total_plays = defaultdict(int)
for i, (genre, play_count) in enumerate(zip(genres, plays)):
genre_songs[genre].append((play_count, i))
total_plays[genre] += play_count
sorted_genres = sorted(total_plays.keys(), key=lambda key: total_plays[key], reverse=True)
answer = []
for genre in sorted_genres:
genre_songs[genre].sort(key=lambda x: (-x[0], x[1]))
top_songs = genre_songs[genre][:2]
answer.extend([idx for _, idx in top_songs])
return answer