hackathon

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 1d840b7c2d99a1ec845c1fe4ff024f113856f486
Author: thing1 <thing1@seacrossedlovers.xyz>
Date:   Sun,  3 May 2026 09:57:07 +0100

init

Diffstat:
Abad-apple.c | 151++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Abad-apple/bad-apple.ino | 447+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Abad-apple/tones.h | 95+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aconvert.py | 294+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Atones.h | 95+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 1082 insertions(+), 0 deletions(-)

diff --git a/bad-apple.c b/bad-apple.c @@ -0,0 +1,151 @@ +#include <ctype.h> +#include <stdio.h> +#include "tones.h" + +#define SIZE(arr) (sizeof(arr)/sizeof(arr[0])) + +typedef struct block { + int notes[4][26]; +} block; + +static const char song[][4][28] = { + {"4D--D-D--DC-dD--D-D--DC-dD-"}, + {"4-D-D--DC-dD--D-FG--F-GD--D"}, + {"4-D--DC-dD--D-D--DC-dD--D-D"}, + {"4--DC-dG--F-GF--D-FD--D-D--"}, + {"4DC-dD--D-D--DC-dD--D-D--DC"}, + {"4-dD--D-FG--F-GD--D-D--DC-d"}, + {"4D--D-D--DC-dD--D-D--DC-dG-"}, + {"4F-G-F-D-F-D--f--F--G--A---"}, + {"5--D--C--------------------","4--------A-----D-----A--G--"}, + {"4F--f--D--f--F--G--A-----G-"}, + {"4-F--f--D--f--F--f--D--d--f"}, + {"5--------------------D--C--","4--D--f--F--G--A-----------"}, + {"4A-----D-----A--G--F--f--D-"}, + {"4-f--F--G--A-----G--F--f---"}, + {"4--F-----G-----A-----D--f--"}, + {"5------------D--C----------","4D--f--D-----F--A--F-----D-","4F--G--A-----------A-------","3------------------------A-"}, + {"4----F--G--F--f--D--f--F--G","4----A---------------------"}, + {"4--A-----G--F--f--D--f--F--"}, + {"4f--D--d--f--D--f--D--f--D-","4------------------F--G--A-"}, + {"5----D--C------------------","4----F--A--F-----D-----F--G","4----------A-----------A---","3----------------A---------"}, + {"4--F--f--D--f--F--G--A-----"}, + {"4G--F--f-----F-----G-----A-"}, + {"5----C--D------------------","4----------A--G--A-----G--A"}, + {"5--C--D--------------------","4--------A--G--A-----G--A--"}, + {"4G--F--f--C--D-----C--D--f-"}, + {"5-------------------C--C--D","4-F--G--A--D-----A---------"}, + {"5--------------------C--D--","4--A--G--A-----G--A--------"}, + {"4a--g--A-----G--A--G--F--f-"}, + {"4-C--D-----C--D--f--F--G--A"}, + {"5-----------C--C--D--------","4--D-----A-----------A--G--"}, + {"5------------C--D----------","4A-----G--A--------A--G--A-"}, + {"4----G--A--G--F--f--C--D---"}, + {"4--C--D--f--F--G--A--D-----"}, + {"5---C--C--D----------------","4A-----------A--G--A-----G-"}, + {"5----C--D--------------D--f","4-A--------A--G--A---------"}, + {"5--F--f--D--C--------------","4--------------A-----G--A--"}, + {"6---------------------C--C-","5------------------A-------","4G--F--f--C--D-------------"}, + {"6-D--------------------C--D","5----A--G--A-----G--A------"}, + {"5--A--G--A-----G--A--G--F--"}, + {"5f--C--D-----C--D--f--F--G-"}, + {"6-------------C--C--D------","5-A--D-----A-----------A--G"}, + {"6--------------C--D--------","5--A-----G--A--------A--G--"}, + {"5A-----G--A--G--F--f--C--D-"}, + {"5----C--D--f--F--G--A--D---"}, + {"6-----C--C--D--------------","5--A-----------A--G--A-----"}, + {"6------C--D----------------","5G--A--------A--G--A-----G-"}, + {"5-A--G--F--f--C--D-----C--D"}, + {"6-----------------------C--","5--f--F--G--A--D-----A-----"}, + {"6C--D--------------------C-","5------A--G--A-----G--A----"}, + {"6-D--------------D--f--F--f","5----A--G--A---------------"}, + {"6--D--C--------------------","5--------A-----G--A--G--F--"}, + {"5f--C--D-------------------","4------------------D--D-D--"}, + {"4DC-dD--D-D--DC-dD--D-D--DC"}, + {"4-dD--D-FG--F-GD--D-D--DC-d"}, + {"4D--D-D--DC-dD--D-D--DC-dG-"}, + {"4-F-GF--D-FD--D-D--DC-dD--D"}, + {"4-D--DC-dD--D-D--DC-dD--D-F"}, + {"4G--F-GD--D-D--DC-dD--D-D--"}, + {"5--------------------C-D-F-","4DC-dD--D-D--DC-dG-A-------"}, + {"5A-G-----------------A-GF--"}, + {"5G-Ff--F-fD--f-DC--D-------","4------------------------A-"}, + {"5----C---------------------","4-------A--G--a--G-----F---"}, + {"6--------------------C-----","5--------C--D--F--A--------","4--G--A--------------------"}, + {"6---D-----D-----F--------f-","5A-------------------------"}, + {"6-f--f--F--f--D--C--D------","5---------------------AA---"}, + {"6-C-----------------C------","5-------G--A--G--A--------A"}, + {"5GG-A--G--F--------FfDf--bA","4------------fDCD----------"}, + {"6----DC-C------------------","5GA----b---bAGA--FfDf------","4----------------------FfDf"}, + {"5-----------C-C---------C-C","4--DC-C--A-A---b-bA-Ab-b---","3----b---------------------"}, + {"5D-Df--G-----F--------f----"}, + {"5-G-----F--f--G--F--f--G--F"}, + {"5--f-G-F-f-G-F-f-G-F-f-G-F-"}, + {"6-------C----D-----f-----F-","5A-----A-------------------"}, + {"6-f--f-----D-----C-----C-dD"}, + {"6--------------------C--D--","5--A--G--A-----G--A--------"}, + {"5A--G--A-----G--A--G--F--f-"}, + {"5-C--D-----C--D--f--F--G--A"}, + {"6-----------C--C--D--------","5--D-----A-----------A--G--"}, + {"6------------C--D----------","5A-----G--A--------A--G--A-"}, + {"5----G--A--G--F--f--C--D---"}, + {"5--C--D--f--F--G--A--D-----"}, + {"6---C--C--D----------------","5A-----------A--G--A-----G-"}, + {"6----C--D------------------","5-A--------A--G--A-----G--A"}, + {"5--G--F--f--C--D-----C--D--"}, + {"6---------------------C--C-","5f--F--G--A--D-----A-------"}, + {"6-D--------------------C--D","5----A--G--A-----G--A------"}, + {"6--------------D--f--F--f--","5--A--G--A-----------------"}, + {"6D--C----------------------","5------A-----G--A--G--F--f-"}, + {"6-------------d--d--e------","5-C--D-----b-----------b--a"}, + {"6--------------d--e--------","5--b-----a--b--------b--a--"}, + {"5b-----a--b--a--g--F--d--e-"}, + {"5----d--e--F--g--a--b--e---"}, + {"6-----d--d--e--------------","5--b-----------b--a--b-----"}, + {"6------d--e----------------","5a--b--------b--a--b-----a-"}, + {"5-b--a--g--F--d--e-----d--e"}, + {"6-----------------------d--","5--F--g--a--b--e-----b-----"}, + {"6d--e--------------------d-","5------b--a--b-----a--b----"}, + {"6-e------------------------","5----b--a--b-----a--b--a--g"}, + {"5--F--d--e-----d--e--F--g--"}, + {"6---------------d--d--e----","5a--b--e-----b-----------b-"}, + {"6----------------d--e------","5-a--b-----a--b--------b--a"}, + {"6--------e--F--g--F--e--d--","5--b-----------------------"}, + {"5b-----a--b--a--g--F--d--e-"} +}; + + + +void makeBlock(const char blk[28]) { + if (blk[0] == 0) { + printf("{"); + for (int n = 0; n < 26; n++) + printf("0, "); + printf("},\n"); + return; + } + + int oc = blk[0] - 48; + printf("{"); + for (int n = 1; n < 27; n++) { + if (blk[n] == '-') + printf("0, "); + else if (isupper(blk[n])) + printf("NOTE_%cS%d, ", toupper(blk[n]), oc); + else + printf("NOTE_%c%d, ", toupper(blk[n]), oc); + } + printf("},\n"); +} + +int main() { + for (int ch = 0; ch < 4; ch++) { + printf("int ch%d[][26] = {\n", ch); + for (int i = 0; i < SIZE(song); i++) { + makeBlock(song[i][ch]); + } + printf("}\n"); + } +} + + diff --git a/bad-apple/bad-apple.ino b/bad-apple/bad-apple.ino @@ -0,0 +1,447 @@ +#include "tones.h" + +#define SIZE(arr) (sizeof(arr)/sizeof(arr[0])) +int ch0[][26] = { + {NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, }, + {0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_FS4, NOTE_GS4, 0, 0, NOTE_FS4, 0, NOTE_GS4, NOTE_DS4, 0, 0, NOTE_DS4, }, + {0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, }, + {0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_GS4, 0, 0, NOTE_FS4, 0, NOTE_GS4, NOTE_FS4, 0, 0, NOTE_DS4, 0, NOTE_FS4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, }, + {NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, }, + {0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_FS4, NOTE_GS4, 0, 0, NOTE_FS4, 0, NOTE_GS4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, }, + {NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_GS4, 0, }, + {NOTE_FS4, 0, NOTE_GS4, 0, NOTE_FS4, 0, NOTE_DS4, 0, NOTE_FS4, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, }, + {0, 0, NOTE_DS5, 0, 0, NOTE_CS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, }, + {0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_D4, 0, 0, NOTE_F4, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_DS5, 0, 0, NOTE_CS5, 0, 0, }, + {NOTE_AS4, 0, 0, 0, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, }, + {0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, 0, }, + {0, 0, NOTE_FS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_DS5, 0, 0, NOTE_CS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, }, + {0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, }, + {NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_D4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, }, + {0, 0, 0, 0, NOTE_DS5, 0, 0, NOTE_CS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, }, + {NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, 0, 0, 0, NOTE_FS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, 0, 0, 0, NOTE_AS4, 0, }, + {0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_CS4, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, NOTE_CS4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, }, + {NOTE_A4, 0, 0, NOTE_G4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, }, + {0, NOTE_CS4, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, NOTE_CS4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_CS4, 0, 0, NOTE_DS4, 0, 0, 0, }, + {0, 0, NOTE_CS4, 0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, }, + {0, 0, 0, NOTE_CS5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_DS5, 0, 0, NOTE_F5, }, + {0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, 0, NOTE_DS5, 0, 0, NOTE_CS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_CS6, 0, }, + {0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, }, + {0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, }, + {NOTE_F5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, NOTE_F5, 0, 0, NOTE_FS5, 0, 0, NOTE_GS5, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, }, + {0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, NOTE_F5, 0, 0, NOTE_FS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_DS5, 0, 0, 0, }, + {0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, }, + {NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, }, + {0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_DS6, 0, 0, NOTE_F6, 0, 0, NOTE_FS6, 0, 0, NOTE_F6, }, + {0, 0, NOTE_DS6, 0, 0, NOTE_CS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_F5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, }, + {0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_FS4, NOTE_GS4, 0, 0, NOTE_FS4, 0, NOTE_GS4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, }, + {NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_GS4, 0, }, + {0, NOTE_FS4, 0, NOTE_GS4, NOTE_FS4, 0, 0, NOTE_DS4, 0, NOTE_FS4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, }, + {0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_FS4, }, + {NOTE_GS4, 0, 0, NOTE_FS4, 0, NOTE_GS4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS5, 0, NOTE_DS5, 0, NOTE_FS5, 0, }, + {NOTE_AS5, 0, NOTE_GS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, NOTE_GS5, NOTE_FS5, 0, 0, }, + {NOTE_GS5, 0, NOTE_FS5, NOTE_F5, 0, 0, NOTE_FS5, 0, NOTE_F5, NOTE_DS5, 0, 0, NOTE_F5, 0, NOTE_DS5, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_CS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, 0, 0, 0, }, + {0, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, NOTE_FS6, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_F6, 0, }, + {0, NOTE_F6, 0, 0, NOTE_F6, 0, 0, NOTE_FS6, 0, 0, NOTE_F6, 0, 0, NOTE_DS6, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, }, + {0, NOTE_CS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, 0, 0, 0, 0, }, + {NOTE_GS5, NOTE_GS5, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_FS5, NOTE_F5, NOTE_DS5, NOTE_F5, 0, 0, NOTE_B5, NOTE_AS5, }, + {0, 0, 0, 0, NOTE_DS6, NOTE_CS6, 0, NOTE_CS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS5, 0, NOTE_CS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS5, 0, NOTE_CS5, }, + {NOTE_DS5, 0, NOTE_DS5, NOTE_F5, 0, 0, NOTE_GS5, 0, 0, 0, 0, 0, NOTE_FS5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_F5, 0, 0, 0, 0, }, + {0, NOTE_GS5, 0, 0, 0, 0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, }, + {0, 0, NOTE_F5, 0, NOTE_GS5, 0, NOTE_FS5, 0, NOTE_F5, 0, NOTE_GS5, 0, NOTE_FS5, 0, NOTE_F5, 0, NOTE_GS5, 0, NOTE_FS5, 0, NOTE_F5, 0, NOTE_GS5, 0, NOTE_FS5, 0, }, + {0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, NOTE_F6, 0, 0, 0, 0, 0, NOTE_FS6, 0, }, + {0, NOTE_F6, 0, 0, NOTE_F6, 0, 0, 0, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, 0, 0, 0, NOTE_CS6, 0, NOTE_D6, NOTE_DS6, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, }, + {NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, }, + {0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, NOTE_F5, 0, 0, NOTE_FS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, }, + {0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, NOTE_F5, 0, 0, NOTE_FS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, }, + {0, 0, 0, NOTE_CS6, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_CS6, 0, }, + {0, NOTE_DS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS6, 0, 0, NOTE_DS6, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_DS6, 0, 0, NOTE_F6, 0, 0, NOTE_FS6, 0, 0, NOTE_F6, 0, 0, }, + {NOTE_DS6, 0, 0, NOTE_CS6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_D6, 0, 0, NOTE_D6, 0, 0, NOTE_E6, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_D6, 0, 0, NOTE_E6, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_B5, 0, 0, 0, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, NOTE_G5, 0, 0, NOTE_FS5, 0, 0, NOTE_D5, 0, 0, NOTE_E5, 0, }, + {0, 0, 0, 0, NOTE_D5, 0, 0, NOTE_E5, 0, 0, NOTE_FS5, 0, 0, NOTE_G5, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, NOTE_E5, 0, 0, 0, }, + {0, 0, 0, 0, 0, NOTE_D6, 0, 0, NOTE_D6, 0, 0, NOTE_E6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, NOTE_D6, 0, 0, NOTE_E6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, NOTE_G5, 0, 0, NOTE_FS5, 0, 0, NOTE_D5, 0, 0, NOTE_E5, 0, 0, 0, 0, 0, NOTE_D5, 0, 0, NOTE_E5, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_D6, 0, 0, }, + {NOTE_D6, 0, 0, NOTE_E6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_D6, 0, }, + {0, NOTE_E6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_FS5, 0, 0, NOTE_D5, 0, 0, NOTE_E5, 0, 0, 0, 0, 0, NOTE_D5, 0, 0, NOTE_E5, 0, 0, NOTE_FS5, 0, 0, NOTE_G5, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_D6, 0, 0, NOTE_D6, 0, 0, NOTE_E6, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_D6, 0, 0, NOTE_E6, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, NOTE_E6, 0, 0, NOTE_FS6, 0, 0, NOTE_G6, 0, 0, NOTE_FS6, 0, 0, NOTE_E6, 0, 0, NOTE_D6, 0, 0, }, + {NOTE_B5, 0, 0, 0, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, NOTE_G5, 0, 0, NOTE_FS5, 0, 0, NOTE_D5, 0, 0, NOTE_E5, 0, }, +}; +int ch1[][26] = { + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_DS4, 0, 0, NOTE_F4, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, NOTE_FS4, 0, 0, NOTE_AS4, 0, 0, NOTE_FS4, 0, 0, 0, 0, 0, NOTE_DS4, 0, }, + {0, 0, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, }, + {0, 0, 0, 0, NOTE_FS4, 0, 0, NOTE_AS4, 0, 0, NOTE_FS4, 0, 0, 0, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, NOTE_FS4, 0, 0, NOTE_GS4, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, }, + {0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_DS4, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, }, + {NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, }, + {0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, NOTE_AS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, }, + {0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, }, + {NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_F5, 0, 0, NOTE_FS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_DS4, 0, 0, NOTE_DS4, 0, NOTE_DS4, 0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_D4, NOTE_GS4, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, }, + {0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, NOTE_GS4, 0, 0, NOTE_A4, 0, 0, NOTE_GS4, 0, 0, 0, 0, 0, NOTE_FS4, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, NOTE_FS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, NOTE_AS5, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_F4, NOTE_DS4, NOTE_CS4, NOTE_DS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_GS5, NOTE_AS5, 0, 0, 0, 0, NOTE_B5, 0, 0, 0, NOTE_B5, NOTE_AS5, NOTE_GS5, NOTE_AS5, 0, 0, NOTE_FS5, NOTE_F5, NOTE_DS5, NOTE_F5, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_DS4, NOTE_CS4, 0, NOTE_CS4, 0, 0, NOTE_AS4, 0, NOTE_AS4, 0, 0, 0, NOTE_B4, 0, NOTE_B4, NOTE_AS4, 0, NOTE_AS4, NOTE_B4, 0, NOTE_B4, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_AS5, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, }, + {NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, }, + {0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_F5, 0, 0, NOTE_FS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, NOTE_AS5, 0, 0, 0, 0, 0, NOTE_GS5, 0, 0, NOTE_AS5, 0, 0, NOTE_GS5, 0, 0, NOTE_FS5, 0, 0, NOTE_F5, 0, }, + {0, NOTE_CS5, 0, 0, NOTE_DS5, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, NOTE_A5, }, + {0, 0, NOTE_B5, 0, 0, 0, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_B5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, }, + {NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, NOTE_A5, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_FS5, 0, 0, NOTE_G5, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, NOTE_E5, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, }, + {0, 0, 0, 0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, NOTE_A5, 0, 0, NOTE_G5, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_A5, 0, 0, NOTE_B5, 0, 0, NOTE_E5, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_B5, 0, }, + {0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, NOTE_A5, 0, 0, NOTE_B5, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_B5, 0, 0, NOTE_A5, }, + {0, 0, NOTE_B5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, +}; +int ch2[][26] = { + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_FS4, 0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS4, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {NOTE_GS4, 0, 0, NOTE_FS4, 0, 0, NOTE_F4, 0, 0, NOTE_CS4, 0, 0, NOTE_DS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, NOTE_GS4, 0, 0, NOTE_AS4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_FS4, NOTE_F4, NOTE_DS4, NOTE_F4, }, + {0, 0, 0, 0, NOTE_B3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, +}; +int ch3[][26] = { + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS3, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NOTE_AS3, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, +}; + + +void setup() { + delay(1000); + pinMode(4, OUTPUT); + pinMode(26, OUTPUT); + digitalWrite(4, LOW); + + for (int i = 0; i < SIZE(ch0); i++) { + for (int j = 0; j < 26; j++) { + tone(26, ch0[i][j], 50); + tone(26, ch1[i][j], 50); + tone(26, ch2[i][j], 50); + tone(26, ch3[i][j], 50); + delay(60); + noTone(26); + } + } + +} + + +void loop() { +} diff --git a/bad-apple/tones.h b/bad-apple/tones.h @@ -0,0 +1,95 @@ +/************************************************* + + * Public Constants + + *************************************************/ + +#define NOTE_B0 31 +#define NOTE_C1 33 +#define NOTE_CS1 35 +#define NOTE_D1 37 +#define NOTE_DS1 39 +#define NOTE_E1 41 +#define NOTE_F1 44 +#define NOTE_FS1 46 +#define NOTE_G1 49 +#define NOTE_GS1 52 +#define NOTE_A1 55 +#define NOTE_AS1 58 +#define NOTE_B1 62 +#define NOTE_C2 65 +#define NOTE_CS2 69 +#define NOTE_D2 73 +#define NOTE_DS2 78 +#define NOTE_E2 82 +#define NOTE_F2 87 +#define NOTE_FS2 93 +#define NOTE_G2 98 +#define NOTE_GS2 104 +#define NOTE_A2 110 +#define NOTE_AS2 117 +#define NOTE_B2 123 +#define NOTE_C3 131 +#define NOTE_CS3 139 +#define NOTE_D3 147 +#define NOTE_DS3 156 +#define NOTE_E3 165 +#define NOTE_F3 175 +#define NOTE_FS3 185 +#define NOTE_G3 196 +#define NOTE_GS3 208 +#define NOTE_A3 220 +#define NOTE_AS3 233 +#define NOTE_B3 247 +#define NOTE_C4 262 +#define NOTE_CS4 277 +#define NOTE_D4 294 +#define NOTE_DS4 311 +#define NOTE_E4 330 +#define NOTE_F4 349 +#define NOTE_FS4 370 +#define NOTE_G4 392 +#define NOTE_GS4 415 +#define NOTE_A4 440 +#define NOTE_AS4 466 +#define NOTE_B4 494 +#define NOTE_C5 523 +#define NOTE_CS5 554 +#define NOTE_D5 587 +#define NOTE_DS5 622 +#define NOTE_E5 659 +#define NOTE_F5 698 +#define NOTE_FS5 740 +#define NOTE_G5 784 +#define NOTE_GS5 831 +#define NOTE_A5 880 +#define NOTE_AS5 932 +#define NOTE_B5 988 +#define NOTE_C6 1047 +#define NOTE_CS6 1109 +#define NOTE_D6 1175 +#define NOTE_DS6 1245 +#define NOTE_E6 1319 +#define NOTE_F6 1397 +#define NOTE_FS6 1480 +#define NOTE_G6 1568 +#define NOTE_GS6 1661 +#define NOTE_A6 1760 +#define NOTE_AS6 1865 +#define NOTE_B6 1976 +#define NOTE_C7 2093 +#define NOTE_CS7 2217 +#define NOTE_D7 2349 +#define NOTE_DS7 2489 +#define NOTE_E7 2637 +#define NOTE_F7 2794 +#define NOTE_FS7 2960 +#define NOTE_G7 3136 +#define NOTE_GS7 3322 +#define NOTE_A7 3520 +#define NOTE_AS7 3729 +#define NOTE_B7 3951 +#define NOTE_C8 4186 +#define NOTE_CS8 4435 +#define NOTE_D8 4699 +#define NOTE_DS8 4978 diff --git a/convert.py b/convert.py @@ -0,0 +1,294 @@ +song = """\n +4D--D-D--DC-dD--D-D--DC-dD- +\n +4-D-D--DC-dD--D-FG--F-GD--D +\n +4-D--DC-dD--D-D--DC-dD--D-D +\n +4--DC-dG--F-GF--D-FD--D-D-- +\n +4DC-dD--D-D--DC-dD--D-D--DC +\n +4-dD--D-FG--F-GD--D-D--DC-d +\n +4D--D-D--DC-dD--D-D--DC-dG- +\n +4F-G-F-D-F-D--f--F--G--A--- +\n +5--D--C-------------------- +4--------A-----D-----A--G-- +\n +4F--f--D--f--F--G--A-----G- +\n +4-F--f--D--f--F--f--D--d--f +\n +5--------------------D--C-- +4--D--f--F--G--A----------- +\n +4A-----D-----A--G--F--f--D- +\n +4-f--F--G--A-----G--F--f--- +\n +4--F-----G-----A-----D--f-- +\n +5------------D--C---------- +4D--f--D-----F--A--F-----D- +4F--G--A-----------A------- +3------------------------A- +\n +4----F--G--F--f--D--f--F--G +4----A--------------------- +\n +4--A-----G--F--f--D--f--F-- +\n +4f--D--d--f--D--f--D--f--D- +4------------------F--G--A- +\n +5----D--C------------------ +4----F--A--F-----D-----F--G +4----------A-----------A--- +3----------------A--------- +\n +4--F--f--D--f--F--G--A----- +\n +4G--F--f-----F-----G-----A- +\n +5----C--D------------------ +4----------A--G--A-----G--A +\n +5--C--D-------------------- +4--------A--G--A-----G--A-- +\n +4G--F--f--C--D-----C--D--f- +\n +5-------------------C--C--D +4-F--G--A--D-----A--------- +\n +5--------------------C--D-- +4--A--G--A-----G--A-------- +\n +4A--G--A-----G--A--G--F--f- +\n +4-C--D-----C--D--f--F--G--A +\n +5-----------C--C--D-------- +4--D-----A-----------A--G-- +\n +5------------C--D---------- +4A-----G--A--------A--G--A- +\n +4----G--A--G--F--f--C--D--- +\n +4--C--D--f--F--G--A--D----- +\n +5---C--C--D---------------- +4A-----------A--G--A-----G- +\n +5----C--D--------------D--f +4-A--------A--G--A--------- +\n +5--F--f--D--C-------------- +4--------------A-----G--A-- +\n +6---------------------C--C- +5------------------A------- +4G--F--f--C--D------------- +\n +6-D--------------------C--D +5----A--G--A-----G--A------ +\n +5--A--G--A-----G--A--G--F-- +\n +5f--C--D-----C--D--f--F--G- +\n +6-------------C--C--D------ +5-A--D-----A-----------A--G +\n +6--------------C--D-------- +5--A-----G--A--------A--G-- +\n +5A-----G--A--G--F--f--C--D- +\n +5----C--D--f--F--G--A--D--- +\n +6-----C--C--D-------------- +5--A-----------A--G--A----- +\n +6------C--D---------------- +5G--A--------A--G--A-----G- +\n +5-A--G--F--f--C--D-----C--D +\n +6-----------------------C-- +5--f--F--G--A--D-----A----- +\n +6C--D--------------------C- +5------A--G--A-----G--A---- +\n +6-D--------------D--f--F--f +5----A--G--A--------------- +\n +6--D--C-------------------- +5--------A-----G--A--G--F-- +\n +5f--C--D------------------- +4------------------D--D-D-- +\n +4DC-dD--D-D--DC-dD--D-D--DC +\n +4-dD--D-FG--F-GD--D-D--DC-d +\n +4D--D-D--DC-dD--D-D--DC-dG- +\n +4-F-GF--D-FD--D-D--DC-dD--D +\n +4-D--DC-dD--D-D--DC-dD--D-F +\n +4G--F-GD--D-D--DC-dD--D-D-- +\n +5--------------------C-D-F- +4DC-dD--D-D--DC-dG-A------- +\n +5A-G-----------------A-GF-- +\n +5G-Ff--F-fD--f-DC--D------- +4------------------------A- +\n +5----C--------------------- +4-------A--G--a--G-----F--- +\n +6--------------------C----- +5--------C--D--F--A-------- +4--G--A-------------------- +\n +6---D-----D-----F--------f- +5A------------------------- +\n +6-f--f--F--f--D--C--D------ +5---------------------AA--- +\n +6-C-----------------C------ +5-------G--A--G--A--------A +\n +5GG-A--G--F--------FfDf--bA +4------------fDCD---------- +\n +6----DC-C------------------ +5GA----b---bAGA--FfDf------ +4----------------------FfDf +\n +5-----------C-C---------C-C +4--DC-C--A-A---b-bA-Ab-b--- +3----b--------------------- +\n +5D-Df--G-----F--------f---- +\n +5-G-----F--f--G--F--f--G--F +\n +5--f-G-F-f-G-F-f-G-F-f-G-F- +\n +6-------C----D-----f-----F- +5A-----A------------------- +\n +6-f--f-----D-----C-----C-dD +\n +6--------------------C--D-- +5--A--G--A-----G--A-------- +\n +5A--G--A-----G--A--G--F--f- +\n +5-C--D-----C--D--f--F--G--A +\n +6-----------C--C--D-------- +5--D-----A-----------A--G-- +\n +6------------C--D---------- +5A-----G--A--------A--G--A- +\n +5----G--A--G--F--f--C--D--- +\n +5--C--D--f--F--G--A--D----- +\n +6---C--C--D---------------- +5A-----------A--G--A-----G- +\n +6----C--D------------------ +5-A--------A--G--A-----G--A +\n +5--G--F--f--C--D-----C--D-- +\n +6---------------------C--C- +5f--F--G--A--D-----A------- +\n +6-D--------------------C--D +5----A--G--A-----G--A------ +\n +6--------------D--f--F--f-- +5--A--G--A----------------- +\n +6D--C---------------------- +5------A-----G--A--G--F--f- +\n +6-------------d--d--e------ +5-C--D-----b-----------b--a +\n +6--------------d--e-------- +5--b-----a--b--------b--a-- +\n +5b-----a--b--a--g--F--d--e- +\n +5----d--e--F--g--a--b--e--- +\n +6-----d--d--e-------------- +5--b-----------b--a--b----- +\n +6------d--e---------------- +5a--b--------b--a--b-----a- +\n +5-b--a--g--F--d--e-----d--e +\n +6-----------------------d-- +5--F--g--a--b--e-----b----- +\n +6d--e--------------------d- +5------b--a--b-----a--b---- +\n +6-e------------------------ +5----b--a--b-----a--b--a--g +\n +5--F--d--e-----d--e--F--g-- +\n +6---------------d--d--e---- +5a--b--e-----b-----------b- +\n +6----------------d--e------ +5-a--b-----a--b--------b--a +\n +6--------e--F--g--F--e--d-- +5--b----------------------- +\n +5b-----a--b--a--g--F--d--e- +""" + + +def printblock(block): + print("{", end='') + first = True + for row in block: + if not first: + print(",", end='') + print(f"\"{row}\"", end='') + first = False + + print("},") + + +block = [] +for line in song.split('\n'): + if line != "": + block.append(line) + else: + if block != []: + printblock(block) + block = [] + diff --git a/tones.h b/tones.h @@ -0,0 +1,95 @@ +/************************************************* + + * Public Constants + + *************************************************/ + +#define NOTE_B0 31 +#define NOTE_C1 33 +#define NOTE_CS1 35 +#define NOTE_D1 37 +#define NOTE_DS1 39 +#define NOTE_E1 41 +#define NOTE_F1 44 +#define NOTE_FS1 46 +#define NOTE_G1 49 +#define NOTE_GS1 52 +#define NOTE_A1 55 +#define NOTE_AS1 58 +#define NOTE_B1 62 +#define NOTE_C2 65 +#define NOTE_CS2 69 +#define NOTE_D2 73 +#define NOTE_DS2 78 +#define NOTE_E2 82 +#define NOTE_F2 87 +#define NOTE_FS2 93 +#define NOTE_G2 98 +#define NOTE_GS2 104 +#define NOTE_A2 110 +#define NOTE_AS2 117 +#define NOTE_B2 123 +#define NOTE_C3 131 +#define NOTE_CS3 139 +#define NOTE_D3 147 +#define NOTE_DS3 156 +#define NOTE_E3 165 +#define NOTE_F3 175 +#define NOTE_FS3 185 +#define NOTE_G3 196 +#define NOTE_GS3 208 +#define NOTE_A3 220 +#define NOTE_AS3 233 +#define NOTE_B3 247 +#define NOTE_C4 262 +#define NOTE_CS4 277 +#define NOTE_D4 294 +#define NOTE_DS4 311 +#define NOTE_E4 330 +#define NOTE_F4 349 +#define NOTE_FS4 370 +#define NOTE_G4 392 +#define NOTE_GS4 415 +#define NOTE_A4 440 +#define NOTE_AS4 466 +#define NOTE_B4 494 +#define NOTE_C5 523 +#define NOTE_CS5 554 +#define NOTE_D5 587 +#define NOTE_DS5 622 +#define NOTE_E5 659 +#define NOTE_F5 698 +#define NOTE_FS5 740 +#define NOTE_G5 784 +#define NOTE_GS5 831 +#define NOTE_A5 880 +#define NOTE_AS5 932 +#define NOTE_B5 988 +#define NOTE_C6 1047 +#define NOTE_CS6 1109 +#define NOTE_D6 1175 +#define NOTE_DS6 1245 +#define NOTE_E6 1319 +#define NOTE_F6 1397 +#define NOTE_FS6 1480 +#define NOTE_G6 1568 +#define NOTE_GS6 1661 +#define NOTE_A6 1760 +#define NOTE_AS6 1865 +#define NOTE_B6 1976 +#define NOTE_C7 2093 +#define NOTE_CS7 2217 +#define NOTE_D7 2349 +#define NOTE_DS7 2489 +#define NOTE_E7 2637 +#define NOTE_F7 2794 +#define NOTE_FS7 2960 +#define NOTE_G7 3136 +#define NOTE_GS7 3322 +#define NOTE_A7 3520 +#define NOTE_AS7 3729 +#define NOTE_B7 3951 +#define NOTE_C8 4186 +#define NOTE_CS8 4435 +#define NOTE_D8 4699 +#define NOTE_DS8 4978