from typing import List
import itertools


def get_list_of_notes() -> List[str]:
    """
    Get list of all notes in letter notation.

    :return:
        list of all notes
    """
    order_of_letters = {
        'C': 1, 'C#': 2, 'D': 3, 'D#': 4, 'E': 5, 'F': 6, 'F#': 7,
        'G': 8, 'G#': 9, 'A': 10, 'A#': 11, 'B': 12
    }
    notes = list(itertools.product(order_of_letters.keys(), range(0, 9)))
    notes = sorted(notes, key=lambda x: (x[1], order_of_letters[x[0]]))
    notes = notes[9:-11]
    notes = [f'{x[0]}{x[1]}' for x in notes]
    return notes