programs = (
    (1, 'Acoustic_Grand_Piano', 'Acoustic Grand Piano'),
    (2, 'Bright_Acoustic_Piano', 'Bright Acoustic Piano'),
    (3, 'Electric_Grand_Piano', 'Electric Grand Piano'),
    (4, 'HonkyTonk_Piano', 'Honky-tonk Piano'),
    (5, 'Electric_Piano_1', 'Electric Piano 1'),
    (6, 'Electric_Piano_2', 'Electric Piano 2'),
    (7, 'Harpsichord', 'Harpsichord'),
    (8, 'Clavi', 'Clavi'),
    (9, 'Celesta', 'Celesta'),
    (10, 'Glockenspiel', 'Glockenspiel'),
    (11, 'Music_Box', 'Music Box'),
    (12, 'Vibraphone', 'Vibraphone'),
    (13, 'Marimba', 'Marimba'),
    (14, 'Xylophone', 'Xylophone'),
    (15, 'Tubular_Bells', 'Tubular Bells'),
    (16, 'Dulcimer', 'Dulcimer'),
    (17, 'Drawbar_Organ', 'Drawbar Organ'),
    (18, 'Percussive_Organ', 'Percussive Organ'),
    (19, 'Rock_Organ', 'Rock Organ'),
    (20, 'Church_Organ', 'Church Organ'),
    (21, 'Reed_Organ', 'Reed Organ'),
    (22, 'Accordion', 'Accordion'),
    (23, 'Harmonica', 'Harmonica'),
    (24, 'Tango_Accordion', 'Tango Accordion'),
    (25, 'Acoustic_Guitar_Nylon', 'Acoustic Guitar (nylon)'),
    (26, 'Acoustic_Guitar_Steel', 'Acoustic Guitar (steel)'),
    (27, 'Electric_Guitar_Jazz', 'Electric Guitar (jazz)'),
    (28, 'Electric_Guitar_Clean', 'Electric Guitar (clean)'),
    (29, 'Electric_Guitar_Muted', 'Electric Guitar (muted)'),
    (30, 'Overdriven_Guitar', 'Overdriven Guitar'),
    (31, 'Distortion_Guitar', 'Distortion Guitar'),
    (32, 'Guitar_harmonics', 'Guitar harmonics'),
    (33, 'Acoustic_Bass', 'Acoustic Bass'),
    (34, 'Electric_Bass_Finger', 'Electric Bass (finger)'),
    (35, 'Electric_Bass_Pick', 'Electric Bass (pick)'),
    (36, 'Fretless_Bass', 'Fretless Bass'),
    (37, 'Slap_Bass_1', 'Slap Bass 1'),
    (38, 'Slap_Bass_2', 'Slap Bass 2'),
    (39, 'Synth_Bass_1', 'Synth Bass 1'),
    (40, 'Synth_Bass_2', 'Synth Bass 2'),
    (41, 'Violin', 'Violin'),
    (42, 'Viola', 'Viola'),
    (43, 'Cello', 'Cello'),
    (44, 'Contrabass', 'Contrabass'),
    (45, 'Tremolo_Strings', 'Tremolo Strings'),
    (46, 'Pizzicato_Strings', 'Pizzicato Strings'),
    (47, 'Orchestral_Harp', 'Orchestral Harp'),
    (48, 'Timpani', 'Timpani'),
    (49, 'String_Ensemble_1', 'String Ensemble 1'),
    (50, 'String_Ensemble_2', 'String Ensemble 2'),
    (51, 'SynthStrings_1', 'SynthStrings 1'),
    (52, 'SynthStrings_2', 'SynthStrings 2'),
    (53, 'Choir_Aahs', 'Choir Aahs'),
    (54, 'Voice_Oohs', 'Voice Oohs'),
    (55, 'Synth_Voice', 'Synth Voice'),
    (56, 'Orchestra_Hit', 'Orchestra Hit'),
    (57, 'Trumpet', 'Trumpet'),
    (58, 'Trombone', 'Trombone'),
    (59, 'Tuba', 'Tuba'),
    (60, 'Muted_Trumpet', 'Muted Trumpet'),
    (61, 'French_Horn', 'French Horn'),
    (62, 'Brass_Section', 'Brass Section'),
    (63, 'SynthBrass_1', 'SynthBrass 1'),
    (64, 'SynthBrass_2', 'SynthBrass 2'),
    (65, 'Soprano_Sax', 'Soprano Sax'),
    (66, 'Alto_Sax', 'Alto Sax'),
    (67, 'Tenor_Sax', 'Tenor Sax'),
    (68, 'Baritone_Sax', 'Baritone Sax'),
    (69, 'Oboe', 'Oboe'),
    (70, 'English_Horn', 'English Horn'),
    (71, 'Bassoon', 'Bassoon'),
    (72, 'Clarinet', 'Clarinet'),
    (73, 'Piccolo', 'Piccolo'),
    (74, 'Flute', 'Flute'),
    (75, 'Recorder', 'Recorder'),
    (76, 'Pan_Flute', 'Pan Flute'),
    (77, 'Blown_Bottle', 'Blown Bottle'),
    (78, 'Shakuhachi', 'Shakuhachi'),
    (79, 'Whistle', 'Whistle'),
    (80, 'Ocarina', 'Ocarina'),
    (81, 'Lead_1', 'Lead 1 (square)'),
    (82, 'Lead_2', 'Lead 2 (sawtooth)'),
    (83, 'Lead_3', 'Lead 3 (calliope)'),
    (84, 'Lead_4', 'Lead 4 (chiff)'),
    (85, 'Lead_5', 'Lead 5 (charang)'),
    (86, 'Lead_6', 'Lead 6 (voice)'),
    (87, 'Lead_7', 'Lead 7 (fifths)'),
    (88, 'Lead_8', 'Lead 8 (bass + lead)'),
    (89, 'Pad_1', 'Pad 1 (new age)'),
    (90, 'Pad_2', 'Pad 2 (warm)'),
    (91, 'Pad_3', 'Pad 3 (polysynth)'),
    (92, 'Pad_4', 'Pad 4 (choir)'),
    (93, 'Pad_5', 'Pad 5 (bowed)'),
    (94, 'Pad_6', 'Pad 6 (metallic)'),
    (95, 'Pad_7', 'Pad 7 (halo)'),
    (96, 'Pad_8', 'Pad 8 (sweep)'),
    (97,  'FX_1', 'FX 1 (rain)'),
    (98,  'FX_2', 'FX 2 (soundtrack)'),
    (99,  'FX_3', 'FX 3 (crystal)'),
    (100, 'FX_4', 'FX 4 (atmosphere)'),
    (101, 'FX_5', 'FX 5 (brightness)'),
    (102, 'FX_6', 'FX 6 (goblins)'),
    (103, 'FX_7', 'FX 7 (echoes)'),
    (104, 'FX_8', 'FX 8 (sci-fi)'),
    (105, 'Sitar', 'Sitar'),
    (106, 'Banjo', 'Banjo'),
    (107, 'Shamisen', 'Shamisen'),
    (108, 'Koto', 'Koto'),
    (109, 'Kalimba', 'Kalimba'),
    (110, 'Bag_Pipe', 'Bag pipe'),
    (111, 'Fiddle', 'Fiddle'),
    (112, 'Shanai', 'Shanai'),
    (113, 'Tinkle_Bell', 'Tinkle Bell'),
    (114, 'Agogo', 'Agogo'),
    (115, 'Steel_Drums', 'Steel Drums'),
    (116, 'Woodblock', 'Woodblock'),
    (117, 'Taiko_Drum', 'Taiko Drum'),
    (118, 'Melodic_Tom', 'Melodic Tom'),
    (119, 'Synth_Drum', 'Synth Drum'),
    (120, 'Reverse_Cymbal', 'Reverse Cymbal'),
    (121, 'Guitar_Fret_Noise', 'Guitar Fret Noise'),
    (122, 'Breath_Noise', 'Breath Noise'),
    (123, 'Seashore', 'Seashore'),
    (124, 'Bird_Tweet', 'Bird Tweet'),
    (125, 'Telephone_Ring', 'Telephone Ring'),
    (126, 'Helicopter', 'Helicopter'),
    (127, 'Applause', 'Applause'),
    (128, 'Gunshot', 'Gunshot'),
)

for program in programs:
    print('constexpr uint8_t ' + program[1] + ' = ' + str(program[0] - 1) + ';  // ' + program[2])

for program in programs:
    print(program[1] + '\tLITERAL1')