diff options
author | Werner Schweer <ws.seh.de> | 2007-06-17 19:01:47 +0000 |
---|---|---|
committer | Werner Schweer <ws.seh.de> | 2007-06-17 19:01:47 +0000 |
commit | f34a9d0b4d86c71a4e88b4f58947d46a7dd0afd5 (patch) | |
tree | d2d2e504dcd11d3d045d93119d66650b5d75f482 | |
parent | e06d480543d0fc041e15b77ec5f60dcf67ea8066 (diff) |
organ synti update
-rw-r--r-- | muse/ChangeLog | 2 | ||||
-rw-r--r-- | muse/all.h | 2 | ||||
-rw-r--r-- | muse/awl/drawbar.cpp | 2 | ||||
-rw-r--r-- | muse/synti/CMakeLists.txt | 6 | ||||
-rw-r--r-- | muse/synti/libsynti/CMakeLists.txt | 9 | ||||
-rw-r--r-- | muse/synti/libsynti/mess2.cpp | 129 | ||||
-rw-r--r-- | muse/synti/libsynti/mess2.h | 57 | ||||
-rw-r--r-- | muse/synti/organ/CMakeLists.txt | 12 | ||||
-rw-r--r-- | muse/synti/organ/organ.cpp | 1897 | ||||
-rw-r--r-- | muse/synti/organ/organ.h | 164 | ||||
-rw-r--r-- | muse/synti/organ/organgui.cpp | 171 | ||||
-rw-r--r-- | muse/synti/organ/organgui.h | 12 | ||||
-rw-r--r-- | muse/synti/organ/organgui.ui | 912 | ||||
-rw-r--r-- | muse/synti/s1/s1.cpp | 6 |
14 files changed, 2038 insertions, 1343 deletions
diff --git a/muse/ChangeLog b/muse/ChangeLog index 903d45cf..5cb159ed 100644 --- a/muse/ChangeLog +++ b/muse/ChangeLog @@ -1,3 +1,5 @@ +17.6. (ws) + - organ synthesizer plugin update 9.6. (ws) - added new Drawbar() widget to awl lib - install libawlplugin.so into qt designer plugin library @@ -50,6 +50,8 @@ #include <QtCore/QTranslator> #include <QtCore/qatomic.h> #include <QtCore/QTemporaryFile> +#include <QtCore/QQueue> +#include <QtCore/QSettings> #include <QtDesigner/QDesignerCustomWidgetInterface> #include <QtDesigner/QDesignerFormEditorInterface> diff --git a/muse/awl/drawbar.cpp b/muse/awl/drawbar.cpp index 5db3ea60..bc58e4c3 100644 --- a/muse/awl/drawbar.cpp +++ b/muse/awl/drawbar.cpp @@ -37,7 +37,7 @@ Drawbar::Drawbar(QWidget* parent) setOrientation(Qt::Vertical); setInvertedAppearance(true); setRange(0.0, 8.0); - setLineStep(1.0); + setLineStep(0.3); } Drawbar::~Drawbar() diff --git a/muse/synti/CMakeLists.txt b/muse/synti/CMakeLists.txt index 30a27361..7e5274ac 100644 --- a/muse/synti/CMakeLists.txt +++ b/muse/synti/CMakeLists.txt @@ -19,9 +19,9 @@ #============================================================================= include_directories( - . + . ${CMAKE_CURRENT_BINARY} - ${PROJECT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/muse ${PROJECT_SOURCE_DIR}/muse/widgets ${PROJECT_SOURCE_DIR}/synti @@ -32,7 +32,7 @@ set (SubDirs libsynti s1 organ deicsonze simpledrums vam mus) if (ENABLE_ZYNADDSUBFX) set (SubDirs ${SubDirs} zynaddsubfx) endif (ENABLE_ZYNADDSUBFX) - + if (ENABLE_FLUID) set (SubDirs ${SubDirs} fluid fluidsynth ) endif (ENABLE_FLUID) diff --git a/muse/synti/libsynti/CMakeLists.txt b/muse/synti/libsynti/CMakeLists.txt index 70dc7dc3..e3aeb72d 100644 --- a/muse/synti/libsynti/CMakeLists.txt +++ b/muse/synti/libsynti/CMakeLists.txt @@ -18,7 +18,14 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #============================================================================= -add_library(synti mess.cpp gui.cpp mono.cpp poly.cpp midievent.cpp) +add_library(synti + mess.cpp + mess2.cpp + gui.cpp + mono.cpp + poly.cpp + midievent.cpp + ) # # -fPIC is necessary for 64 bit systems diff --git a/muse/synti/libsynti/mess2.cpp b/muse/synti/libsynti/mess2.cpp new file mode 100644 index 00000000..5e5599e1 --- /dev/null +++ b/muse/synti/libsynti/mess2.cpp @@ -0,0 +1,129 @@ +//========================================================= +// MusE +// Linux Music Editor +// $Id:$ +// (C) Copyright 2007 Werner Schweer (ws@seh.de) +//========================================================= + +#include "mess2.h" + +QList<SynthCtrl*> Mess2::ctrl; + +//--------------------------------------------------------- +// Mess2 +//--------------------------------------------------------- + +Mess2::Mess2(int channels) + : Mess(channels) + { + initData = 0; + } + +//--------------------------------------------------------- +// Mess2 +//--------------------------------------------------------- + +Mess2::~Mess2() + { + if (initData) + delete[] initData; + } + +//--------------------------------------------------------- +// addController +//--------------------------------------------------------- + +void Mess2::addController(const char* name, int id, int min, int max, int init) + { + SynthCtrl* c = new SynthCtrl(name, id, min, max, init); + ctrl.append(c); + } + +//--------------------------------------------------------- +// controllerIdx +//--------------------------------------------------------- + +int Mess2::controllerIdx(const char* name) + { + for (int i = 0; i < ctrl.size(); ++i) { + if (strcmp(ctrl[i]->name, name) == 0) + return i; + } + return -1; + } + +//--------------------------------------------------------- +// controllerIdx +//--------------------------------------------------------- + +int Mess2::controllerIdx(int ctrlId) + { + for (int i = 0; i < ctrl.size(); ++i) { + if (ctrl[i]->ctrl == ctrlId) + return i; + } + return -1; + } + +//--------------------------------------------------------- +// controllerId +//--------------------------------------------------------- + +int Mess2::controllerId(int idx) + { + if (idx < 0 || idx >= ctrl.size()) { + printf("controllId::illegal controller index %d\n", idx); + return -1; + } + return ctrl[idx]->ctrl; + } + +//--------------------------------------------------------- +// controllerName +//--------------------------------------------------------- + +const char* Mess2::controllerName(int idx) + { + if (idx < 0 || idx >= ctrl.size()) { + printf("controllerName::illegal controller index %d\n", idx); + return "?"; + } + return ctrl[idx]->name; + } + +//--------------------------------------------------------- +// getInitData +//--------------------------------------------------------- + +void Mess2::getInitData(int* bytes, const unsigned char** data) + { + if (initData) + delete[] initData; + int n = ctrl.size() * sizeof(int); + initData = new unsigned char[n]; + int* p = (int*)initData; + foreach(SynthCtrl* c, ctrl) { + *p++ = c->val; + } + *data = initData; + *bytes = n; + } + +//--------------------------------------------------------- +// getControllerInfo +//--------------------------------------------------------- + +int Mess2::getControllerInfo(int idx, const char** name, int* id, int* min, int* max) + { + if (idx < 0 || idx >= ctrl.size()) + return 0; + *name = ctrl[idx]->name; + *id = ctrl[idx]->ctrl; + *min = ctrl[idx]->min; + *max = ctrl[idx]->max; + ++idx; + return (idx > ctrl.size()) ? 0 : idx; + return 0; + } + + diff --git a/muse/synti/libsynti/mess2.h b/muse/synti/libsynti/mess2.h new file mode 100644 index 00000000..207eb6c3 --- /dev/null +++ b/muse/synti/libsynti/mess2.h @@ -0,0 +1,57 @@ +//========================================================= +// MusE +// Linux Music Editor +// $Id:$ +// (C) Copyright 2007 Werner Schweer (ws@seh.de) +//========================================================= + +#ifndef __MESS2_H__ +#define __MESS2_H__ + +#include "mess.h" + +//--------------------------------------------------------- +// SynthCtlr +//--------------------------------------------------------- + +struct SynthCtrl { + const char* name; + int ctrl; + int min; + int max; + int init; + int val; + SynthCtrl(const char* n, int i, int a, int b, int c) + : name(n), ctrl(i), min(a), max(b), init(c) + {} + }; + +//--------------------------------------------------------- +// Mess2 +// MusE experimental software synth +// extended interface +//--------------------------------------------------------- + +class Mess2 : public Mess { + unsigned char* initData; + + void getInitData(int*, const unsigned char**); + int getControllerInfo(int, const char**, int*, int*, int*); + + protected: + static QList<SynthCtrl*> ctrl; + + static void addController(const char* name, + int ctrl, int min = 0, int max = 16384, int init = 0); + static int controllerIdx(const char* name); + static int controllerId(int idx); + static int controllerIdx(int id); + static const char* controllerName(int idx); + + public: + Mess2(int channels); + virtual ~Mess2(); + }; + +#endif + diff --git a/muse/synti/organ/CMakeLists.txt b/muse/synti/organ/CMakeLists.txt index 2c23daea..2dd6aa3f 100644 --- a/muse/synti/organ/CMakeLists.txt +++ b/muse/synti/organ/CMakeLists.txt @@ -21,26 +21,26 @@ QT4_WRAP_CPP ( organ_mocs organgui.h ) QT4_WRAP_UI ( organ_uis organgui.ui ) -add_library ( organ SHARED - organ.cpp +add_library ( organ SHARED + organ.cpp organgui.cpp organgui.h ${organ_mocs} ${organ_uis} ) -# - tell cmake to name target organ.so instead of +# - tell cmake to name target organ.so instead of # liborgan.so # - use precompiled header files # -set_target_properties ( organ +set_target_properties ( organ PROPERTIES PREFIX "" - COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all-pic.h" + COMPILE_FLAGS "-O6 -include ${PROJECT_BINARY_DIR}/all-pic.h" ) target_link_libraries(organ - widgets synti + awl ${QT_LIBRARIES} ) diff --git a/muse/synti/organ/organ.cpp b/muse/synti/organ/organ.cpp index 4b84fbfb..f8f6057c 100644 --- a/muse/synti/organ/organ.cpp +++ b/muse/synti/organ/organ.cpp @@ -16,38 +16,1346 @@ #include "organ.h" #include "organgui.h" -SynthCtrl Organ::synthCtrl[] = { - { "harm0", HARM0, 0 }, - { "harm1", HARM1, 0 }, - { "harm2", HARM2, 0 }, - { "harm3", HARM3, 0 }, - { "harm4", HARM4, 0 }, - { "harm5", HARM5, 0 }, - { "attackLo", ATTACK_LO, 20 }, - { "decayLo", DECAY_LO, 20 }, - { "sustainLo", SUSTAIN_LO, 0 }, - { "releaseLo", RELEASE_LO, 20 }, - { "attackHi", ATTACK_HI, 10 }, - { "decayHi", DECAY_HI, 10 }, - { "sustainHi", SUSTAIN_HI, 0 }, - { "releaseHi", RELEASE_HI, 10 }, - { "brass", BRASS, 1 }, - { "flute", FLUTE, 1 }, - { "reed", REED, 1 }, - { "velocity", VELO, 0 }, - // next controller not send as init data - { "volume", CTRL_VOLUME, 100 }, - }; - -static int NUM_CONTROLLER = sizeof(Organ::synthCtrl)/sizeof(*(Organ::synthCtrl)); -static int NUM_INIT_CONTROLLER = NUM_CONTROLLER - 1; - -float* Organ::sine_table; -float* Organ::g_triangle_table; -float* Organ::g_pulse_table; +int Organ::resolution; +int Organ::resolution256; +float* Organ::attackEnv; +float* Organ::releaseEnv; +int Organ::envSize; +float* Organ::waveTable; int Organ::useCount = 0; double Organ::cb2amp_tab[MAX_ATTENUATION]; -unsigned Organ::freq256[128]; +unsigned Organ::freq256[128][NO_BUSES]; +Elem Organ::routing[NO_KEYS][NO_ELEMENTS] = { +#if 1 + { Elem(0,0,0.003210), Elem(0,1,0.000105), Elem(0,2,0.004516), Elem(0,3,0.000095), Elem(0,4,0.000080), Elem(0,5,0.000088), Elem(0,6,0.000116), Elem(0,7,0.000213), + Elem(0,8,0.020011), Elem(7,0,0.000067), Elem(7,1,0.006683), Elem(7,2,0.000067), Elem(7,3,0.000033), Elem(7,4,0.000022), Elem(7,5,0.000017), Elem(12,0,0.315277), + Elem(12,1,0.007553), Elem(12,2,0.443782), Elem(12,3,0.005466), Elem(12,4,0.002994), Elem(12,5,0.002100), Elem(12,6,0.001627), Elem(12,7,0.001332), Elem(12,8,0.001128), + Elem(19,0,0.006617), Elem(19,1,0.661660), Elem(19,2,0.006617), Elem(19,3,0.003308), Elem(19,4,0.002206), Elem(19,5,0.001654), Elem(19,6,0.001323), Elem(19,7,0.001103), + Elem(19,8,0.000945), Elem(24,0,0.002250), Elem(24,1,0.003364), Elem(24,2,0.006691), Elem(24,3,0.661772), Elem(24,4,0.006840), Elem(24,5,0.025696), Elem(24,6,0.002429), + Elem(24,7,0.001766), Elem(24,8,0.001398), Elem(28,0,0.000025), Elem(28,1,0.000030), Elem(28,2,0.000037), Elem(28,3,0.000050), Elem(28,4,0.000075), Elem(28,5,0.000150), + Elem(28,6,0.014962), Elem(28,7,0.000150), Elem(28,8,0.000075), Elem(31,0,0.005541), Elem(31,1,0.007388), Elem(31,2,0.011082), Elem(31,3,0.022163), Elem(31,4,2.216334), + Elem(31,5,0.022163), Elem(31,6,0.011082), Elem(31,7,0.007388), Elem(31,8,0.005541), Elem(36,0,0.004469), Elem(36,1,0.005591), Elem(36,2,0.007475), Elem(36,3,0.017790), + Elem(36,4,0.022264), Elem(36,5,2.216417), Elem(36,6,0.022286), Elem(36,7,0.021098), Elem(36,8,0.007501), Elem(40,0,0.002469), Elem(40,1,0.002963), Elem(40,2,0.003703), + Elem(40,3,0.004938), Elem(40,4,0.007406), Elem(40,5,0.014813), Elem(40,6,1.481273), Elem(40,7,0.014813), Elem(40,8,0.007406), Elem(43,0,0.001459), Elem(43,1,0.001706), + Elem(43,2,0.002055), Elem(43,3,0.002587), Elem(43,4,0.003524), Elem(43,5,0.027337), Elem(43,6,0.010124), Elem(43,7,0.990112), Elem(43,8,0.009975), Elem(47,0,0.000025), + Elem(47,1,0.000030), Elem(47,2,0.000037), Elem(47,3,0.000050), Elem(47,4,0.000075), Elem(47,5,0.000150), Elem(47,6,0.014962), Elem(47,7,0.000150), Elem(47,8,0.000075), + Elem(48,0,0.001237), Elem(48,1,0.001414), Elem(48,2,0.001650), Elem(48,3,0.001980), Elem(48,4,0.002475), Elem(48,5,0.003300), Elem(48,6,0.004950), Elem(48,7,0.009900), + Elem(48,8,0.990000), Elem(55,1,0.000017), Elem(55,2,0.000020), Elem(55,3,0.000025), Elem(55,4,0.000033), Elem(55,5,0.000050), Elem(55,6,0.000100), Elem(55,7,0.010000), + Elem(55,8,0.000100), Elem(60,0,0.006369), Elem(60,1,0.000153), Elem(60,2,0.008965), Elem(60,3,0.000110), Elem(60,4,0.000060), Elem(60,5,0.000042), Elem(60,6,0.000033), + Elem(60,7,0.000027), Elem(60,8,0.000023), Elem(67,0,0.000134), Elem(67,1,0.013367), Elem(67,2,0.000134), Elem(67,3,0.000067), Elem(67,4,0.000045), Elem(67,5,0.000033), + Elem(67,6,0.000027), Elem(67,7,0.000022), Elem(67,8,0.000019), Elem(72,0,0.000045), Elem(72,1,0.000067), Elem(72,2,0.000134), Elem(72,3,0.013367), Elem(72,4,0.000134), + Elem(72,5,0.000067), Elem(72,6,0.000045), Elem(72,7,0.000033), Elem(72,8,0.000027), Elem(79,0,0.000112), Elem(79,1,0.000149), Elem(79,2,0.000224), Elem(79,3,0.000448), + Elem(79,4,0.044774), Elem(79,5,0.000448), Elem(79,6,0.000224), Elem(79,7,0.000149), Elem(79,8,0.000112), Elem(86,0,0.000070), Elem(86,1,0.000091), Elem(86,2,0.000132), + Elem(86,3,0.000249), Elem(86,4,0.022421), Elem(86,5,0.000274), Elem(86,6,0.000212), Elem(86,7,0.010075), Elem(86,8,0.000156), }, + { Elem(1,0,0.003210), Elem(1,1,0.000105), Elem(1,2,0.004516), Elem(1,3,0.000095), Elem(1,4,0.000080), Elem(1,5,0.000088), Elem(1,6,0.000116), Elem(1,7,0.000213), + Elem(1,8,0.020011), Elem(8,0,0.000067), Elem(8,1,0.006683), Elem(8,2,0.000067), Elem(8,3,0.000033), Elem(8,4,0.000022), Elem(8,5,0.000017), Elem(13,0,0.315277), + Elem(13,1,0.007553), Elem(13,2,0.443782), Elem(13,3,0.005466), Elem(13,4,0.002994), Elem(13,5,0.002100), Elem(13,6,0.001627), Elem(13,7,0.001332), Elem(13,8,0.001128), + Elem(20,0,0.006617), Elem(20,1,0.661660), Elem(20,2,0.006617), Elem(20,3,0.003308), Elem(20,4,0.002206), Elem(20,5,0.001654), Elem(20,6,0.001323), Elem(20,7,0.001103), + Elem(20,8,0.000945), Elem(25,0,0.002206), Elem(25,1,0.003308), Elem(25,2,0.006617), Elem(25,3,0.661660), Elem(25,4,0.006617), Elem(25,5,0.003308), Elem(25,6,0.002206), + Elem(25,7,0.001654), Elem(25,8,0.001323), Elem(29,0,0.000025), Elem(29,1,0.000030), Elem(29,2,0.000037), Elem(29,3,0.000050), Elem(29,4,0.000075), Elem(29,5,0.000150), + Elem(29,6,0.014962), Elem(29,7,0.000150), Elem(29,8,0.000075), Elem(32,0,0.005541), Elem(32,1,0.007388), Elem(32,2,0.011082), Elem(32,3,0.022163), Elem(32,4,2.216334), + Elem(32,5,0.022163), Elem(32,6,0.011082), Elem(32,7,0.007388), Elem(32,8,0.005541), Elem(33,0,0.000037), Elem(33,1,0.000050), Elem(33,2,0.000087), Elem(33,3,0.006708), + Elem(33,4,0.000100), Elem(33,5,0.000083), Elem(33,6,0.000122), Elem(33,7,0.010017), Elem(33,8,0.000113), Elem(37,0,0.004433), Elem(37,1,0.005541), Elem(37,2,0.007388), + Elem(37,3,0.011082), Elem(37,4,0.022163), Elem(37,5,2.216334), Elem(37,6,0.022163), Elem(37,7,0.011082), Elem(37,8,0.007388), Elem(41,0,0.002469), Elem(41,1,0.002963), + Elem(41,2,0.003703), Elem(41,3,0.004938), Elem(41,4,0.007406), Elem(41,5,0.014813), Elem(41,6,1.481273), Elem(41,7,0.014813), Elem(41,8,0.007406), Elem(44,0,0.001414), + Elem(44,1,0.001650), Elem(44,2,0.001980), Elem(44,3,0.002475), Elem(44,4,0.003300), Elem(44,5,0.004950), Elem(44,6,0.009900), Elem(44,7,0.990000), Elem(44,8,0.009900), + Elem(49,0,0.001237), Elem(49,1,0.001414), Elem(49,2,0.001650), Elem(49,3,0.001980), Elem(49,4,0.002475), Elem(49,5,0.003300), Elem(49,6,0.004950), Elem(49,7,0.009900), + Elem(49,8,0.990000), Elem(56,1,0.000017), Elem(56,2,0.000020), Elem(56,3,0.000025), Elem(56,4,0.000033), Elem(56,5,0.000050), Elem(56,6,0.000100), Elem(56,7,0.010000), + Elem(56,8,0.000100), Elem(61,0,0.006369), Elem(61,1,0.000153), Elem(61,2,0.008965), Elem(61,3,0.000110), Elem(61,4,0.000060), Elem(61,5,0.000042), Elem(61,6,0.000033), + Elem(61,7,0.000027), Elem(61,8,0.000023), Elem(68,0,0.000134), Elem(68,1,0.013367), Elem(68,2,0.000134), Elem(68,3,0.000067), Elem(68,4,0.000045), Elem(68,5,0.000033), + Elem(68,6,0.000027), Elem(68,7,0.000022), Elem(68,8,0.000019), Elem(73,0,0.000045), Elem(73,1,0.000067), Elem(73,2,0.000134), Elem(73,3,0.013367), Elem(73,4,0.000134), + Elem(73,5,0.000067), Elem(73,6,0.000045), Elem(73,7,0.000033), Elem(73,8,0.000027), Elem(80,0,0.000112), Elem(80,1,0.000149), Elem(80,2,0.000224), Elem(80,3,0.000448), + Elem(80,4,0.044774), Elem(80,5,0.000448), Elem(80,6,0.000224), Elem(80,7,0.000149), Elem(80,8,0.000112), Elem(84,0,0.000050), Elem(84,1,0.000060), Elem(84,2,0.000075), + Elem(84,3,0.000100), Elem(84,4,0.000150), Elem(84,5,0.000299), Elem(84,6,0.029925), Elem(84,7,0.000299), Elem(84,8,0.000150), Elem(85,2,0.000017), Elem(85,3,0.000020), + Elem(85,4,0.000025), Elem(85,5,0.000033), Elem(85,6,0.000050), Elem(85,7,0.000100), Elem(85,8,0.010000), Elem(87,0,0.000070), Elem(87,1,0.000091), Elem(87,2,0.000132), + Elem(87,3,0.000249), Elem(87,4,0.022421), Elem(87,5,0.000274), Elem(87,6,0.000212), Elem(87,7,0.010075), Elem(87,8,0.000156), }, + { Elem(2,0,0.003210), Elem(2,1,0.000105), Elem(2,2,0.004516), Elem(2,3,0.000095), Elem(2,4,0.000080), Elem(2,5,0.000088), Elem(2,6,0.000116), Elem(2,7,0.000213), + Elem(2,8,0.020011), Elem(9,0,0.000067), Elem(9,1,0.006683), Elem(9,2,0.000067), Elem(9,3,0.000033), Elem(9,4,0.000022), Elem(9,5,0.000017), Elem(14,0,0.315277), + Elem(14,1,0.007553), Elem(14,2,0.443782), Elem(14,3,0.005466), Elem(14,4,0.002994), Elem(14,5,0.002100), Elem(14,6,0.001627), Elem(14,7,0.001332), Elem(14,8,0.001128), + Elem(21,0,0.006617), Elem(21,1,0.661660), Elem(21,2,0.006617), Elem(21,3,0.003308), Elem(21,4,0.002206), Elem(21,5,0.001654), Elem(21,6,0.001323), Elem(21,7,0.001103), + Elem(21,8,0.000945), Elem(25,0,0.000056), Elem(25,1,0.000075), Elem(25,2,0.000112), Elem(25,3,0.000224), Elem(25,4,0.022387), Elem(25,5,0.000224), Elem(25,6,0.000112), + Elem(25,7,0.000075), Elem(25,8,0.000056), Elem(26,0,0.002250), Elem(26,1,0.003364), Elem(26,2,0.006691), Elem(26,3,0.661772), Elem(26,4,0.006840), Elem(26,5,0.025696), + Elem(26,6,0.002429), Elem(26,7,0.001766), Elem(26,8,0.001398), Elem(30,0,0.000025), Elem(30,1,0.000030), Elem(30,2,0.000037), Elem(30,3,0.000050), Elem(30,4,0.000075), + Elem(30,5,0.000150), Elem(30,6,0.014962), Elem(30,7,0.000150), Elem(30,8,0.000075), Elem(33,0,0.005541), Elem(33,1,0.007388), Elem(33,2,0.011082), Elem(33,3,0.022163), + Elem(33,4,2.216334), Elem(33,5,0.022163), Elem(33,6,0.011082), Elem(33,7,0.007388), Elem(33,8,0.005541), Elem(38,0,0.004469), Elem(38,1,0.005591), Elem(38,2,0.007475), + Elem(38,3,0.017790), Elem(38,4,0.022264), Elem(38,5,2.216417), Elem(38,6,0.022286), Elem(38,7,0.021098), Elem(38,8,0.007501), Elem(42,0,0.002469), Elem(42,1,0.002963), + Elem(42,2,0.003703), Elem(42,3,0.004938), Elem(42,4,0.007406), Elem(42,5,0.014813), Elem(42,6,1.481273), Elem(42,7,0.014813), Elem(42,8,0.007406), Elem(44,0,0.000056), + Elem(44,1,0.000075), Elem(44,2,0.000112), Elem(44,3,0.000224), Elem(44,4,0.022387), Elem(44,5,0.000224), Elem(44,6,0.000112), Elem(44,7,0.000075), Elem(44,8,0.000056), + Elem(45,0,0.001459), Elem(45,1,0.001706), Elem(45,2,0.002055), Elem(45,3,0.002587), Elem(45,4,0.003524), Elem(45,5,0.027337), Elem(45,6,0.010124), Elem(45,7,0.990112), + Elem(45,8,0.009975), Elem(50,0,0.001237), Elem(50,1,0.001414), Elem(50,2,0.001650), Elem(50,3,0.001980), Elem(50,4,0.002475), Elem(50,5,0.003300), Elem(50,6,0.004950), + Elem(50,7,0.009900), Elem(50,8,0.990000), Elem(57,1,0.000017), Elem(57,2,0.000020), Elem(57,3,0.000025), Elem(57,4,0.000033), Elem(57,5,0.000050), Elem(57,6,0.000100), + Elem(57,7,0.010000), Elem(57,8,0.000100), Elem(62,0,0.006369), Elem(62,1,0.000153), Elem(62,2,0.008965), Elem(62,3,0.000110), Elem(62,4,0.000060), Elem(62,5,0.000042), + Elem(62,6,0.000033), Elem(62,7,0.000027), Elem(62,8,0.000023), Elem(69,0,0.000134), Elem(69,1,0.013367), Elem(69,2,0.000134), Elem(69,3,0.000067), Elem(69,4,0.000045), + Elem(69,5,0.000033), Elem(69,6,0.000027), Elem(69,7,0.000022), Elem(69,8,0.000019), Elem(74,0,0.000045), Elem(74,1,0.000067), Elem(74,2,0.000134), Elem(74,3,0.013367), + Elem(74,4,0.000134), Elem(74,5,0.000067), Elem(74,6,0.000045), Elem(74,7,0.000033), Elem(74,8,0.000027), Elem(81,0,0.000056), Elem(81,1,0.000075), Elem(81,2,0.000112), + Elem(81,3,0.000224), Elem(81,4,0.022387), Elem(81,5,0.000224), Elem(81,6,0.000112), Elem(81,7,0.000075), Elem(81,8,0.000056), Elem(85,0,0.000050), Elem(85,1,0.000060), + Elem(85,2,0.000075), Elem(85,3,0.000100), Elem(85,4,0.000150), Elem(85,5,0.000299), Elem(85,6,0.029925), Elem(85,7,0.000299), Elem(85,8,0.000150), Elem(86,2,0.000017), + Elem(86,3,0.000020), Elem(86,4,0.000025), Elem(86,5,0.000033), Elem(86,6,0.000050), Elem(86,7,0.000100), Elem(86,8,0.010000), Elem(88,1,0.000017), Elem(88,2,0.000020), + Elem(88,3,0.000025), Elem(88,4,0.000033), Elem(88,5,0.000050), Elem(88,6,0.000100), Elem(88,7,0.010000), Elem(88,8,0.000100), }, + { Elem(3,0,0.003210), Elem(3,1,0.000105), Elem(3,2,0.004516), Elem(3,3,0.000095), Elem(3,4,0.000080), Elem(3,5,0.000088), Elem(3,6,0.000116), Elem(3,7,0.000213), + Elem(3,8,0.020011), Elem(10,0,0.000067), Elem(10,1,0.006683), Elem(10,2,0.000067), Elem(10,3,0.000033), Elem(10,4,0.000022), Elem(10,5,0.000017), Elem(15,0,0.315277), + Elem(15,1,0.007553), Elem(15,2,0.443782), Elem(15,3,0.005466), Elem(15,4,0.002994), Elem(15,5,0.002100), Elem(15,6,0.001627), Elem(15,7,0.001332), Elem(15,8,0.001128), + Elem(22,0,0.006617), Elem(22,1,0.661660), Elem(22,2,0.006617), Elem(22,3,0.003308), Elem(22,4,0.002206), Elem(22,5,0.001654), Elem(22,6,0.001323), Elem(22,7,0.001103), + Elem(22,8,0.000945), Elem(27,0,0.002250), Elem(27,1,0.003364), Elem(27,2,0.006691), Elem(27,3,0.661772), Elem(27,4,0.006840), Elem(27,5,0.025696), Elem(27,6,0.002429), + Elem(27,7,0.001766), Elem(27,8,0.001398), Elem(34,0,0.005541), Elem(34,1,0.007388), Elem(34,2,0.011082), Elem(34,3,0.022163), Elem(34,4,2.216334), Elem(34,5,0.022163), + Elem(34,6,0.011082), Elem(34,7,0.007388), Elem(34,8,0.005541), Elem(36,0,0.000025), Elem(36,1,0.000030), Elem(36,2,0.000037), Elem(36,3,0.000050), Elem(36,4,0.000075), + Elem(36,5,0.000150), Elem(36,6,0.014962), Elem(36,7,0.000150), Elem(36,8,0.000075), Elem(39,0,0.004469), Elem(39,1,0.005591), Elem(39,2,0.007475), Elem(39,3,0.017790), + Elem(39,4,0.022264), Elem(39,5,2.216417), Elem(39,6,0.022286), Elem(39,7,0.021098), Elem(39,8,0.007501), Elem(43,0,0.002469), Elem(43,1,0.002963), Elem(43,2,0.003703), + Elem(43,3,0.004938), Elem(43,4,0.007406), Elem(43,5,0.014813), Elem(43,6,1.481273), Elem(43,7,0.014813), Elem(43,8,0.007406), Elem(46,0,0.001459), Elem(46,1,0.001706), + Elem(46,2,0.002055), Elem(46,3,0.002587), Elem(46,4,0.003524), Elem(46,5,0.027337), Elem(46,6,0.010124), Elem(46,7,0.990112), Elem(46,8,0.009975), Elem(51,0,0.001237), + Elem(51,1,0.001414), Elem(51,2,0.001650), Elem(51,3,0.001980), Elem(51,4,0.002475), Elem(51,5,0.003300), Elem(51,6,0.004950), Elem(51,7,0.009900), Elem(51,8,0.990000), + Elem(55,0,0.000025), Elem(55,1,0.000030), Elem(55,2,0.000037), Elem(55,3,0.000050), Elem(55,4,0.000075), Elem(55,5,0.000150), Elem(55,6,0.014962), Elem(55,7,0.000150), + Elem(55,8,0.000075), Elem(58,1,0.000017), Elem(58,2,0.000020), Elem(58,3,0.000025), Elem(58,4,0.000033), Elem(58,5,0.000050), Elem(58,6,0.000100), Elem(58,7,0.010000), + Elem(58,8,0.000100), Elem(63,0,0.006369), Elem(63,1,0.000153), Elem(63,2,0.008965), Elem(63,3,0.000110), Elem(63,4,0.000060), Elem(63,5,0.000042), Elem(63,6,0.000033), + Elem(63,7,0.000027), Elem(63,8,0.000023), Elem(70,0,0.000134), Elem(70,1,0.013367), Elem(70,2,0.000134), Elem(70,3,0.000067), Elem(70,4,0.000045), Elem(70,5,0.000033), + Elem(70,6,0.000027), Elem(70,7,0.000022), Elem(70,8,0.000019), Elem(75,0,0.000045), Elem(75,1,0.000067), Elem(75,2,0.000134), Elem(75,3,0.013367), Elem(75,4,0.000134), + Elem(75,5,0.000067), Elem(75,6,0.000045), Elem(75,7,0.000033), Elem(75,8,0.000027), Elem(82,0,0.000112), Elem(82,1,0.000149), Elem(82,2,0.000224), Elem(82,3,0.000448), + Elem(82,4,0.044774), Elem(82,5,0.000448), Elem(82,6,0.000224), Elem(82,7,0.000149), Elem(82,8,0.000112), Elem(86,0,0.000025), Elem(86,1,0.000030), Elem(86,2,0.000037), + Elem(86,3,0.000050), Elem(86,4,0.000075), Elem(86,5,0.000150), Elem(86,6,0.014962), Elem(86,7,0.000150), Elem(86,8,0.000075), Elem(87,2,0.000017), Elem(87,3,0.000020), + Elem(87,4,0.000025), Elem(87,5,0.000033), Elem(87,6,0.000050), Elem(87,7,0.000100), Elem(87,8,0.010000), Elem(89,0,0.000070), Elem(89,1,0.000091), Elem(89,2,0.000132), + Elem(89,3,0.000249), Elem(89,4,0.022421), Elem(89,5,0.000274), Elem(89,6,0.000212), Elem(89,7,0.010075), Elem(89,8,0.000156), }, + { Elem(4,0,0.003210), Elem(4,1,0.000105), Elem(4,2,0.004516), Elem(4,3,0.000095), Elem(4,4,0.000080), Elem(4,5,0.000088), Elem(4,6,0.000116), Elem(4,7,0.000213), + Elem(4,8,0.020011), Elem(11,0,0.000067), Elem(11,1,0.006683), Elem(11,2,0.000067), Elem(11,3,0.000033), Elem(11,4,0.000022), Elem(11,5,0.000017), Elem(16,0,0.315277), + Elem(16,1,0.007553), Elem(16,2,0.443782), Elem(16,3,0.005466), Elem(16,4,0.002994), Elem(16,5,0.002100), Elem(16,6,0.001627), Elem(16,7,0.001332), Elem(16,8,0.001128), + Elem(23,0,0.006617), Elem(23,1,0.661660), Elem(23,2,0.006617), Elem(23,3,0.003308), Elem(23,4,0.002206), Elem(23,5,0.001654), Elem(23,6,0.001323), Elem(23,7,0.001103), + Elem(23,8,0.000945), Elem(28,0,0.002250), Elem(28,1,0.003364), Elem(28,2,0.006691), Elem(28,3,0.661772), Elem(28,4,0.006840), Elem(28,5,0.025696), Elem(28,6,0.002429), + Elem(28,7,0.001766), Elem(28,8,0.001398), Elem(33,0,0.000025), Elem(33,1,0.000030), Elem(33,2,0.000037), Elem(33,3,0.000050), Elem(33,4,0.000075), Elem(33,5,0.000150), + Elem(33,6,0.014962), Elem(33,7,0.000150), Elem(33,8,0.000075), Elem(35,0,0.005541), Elem(35,1,0.007388), Elem(35,2,0.011082), Elem(35,3,0.022163), Elem(35,4,2.216334), + Elem(35,5,0.022163), Elem(35,6,0.011082), Elem(35,7,0.007388), Elem(35,8,0.005541), Elem(40,0,0.004469), Elem(40,1,0.005591), Elem(40,2,0.007475), Elem(40,3,0.017790), + Elem(40,4,0.022264), Elem(40,5,2.216417), Elem(40,6,0.022286), Elem(40,7,0.021098), Elem(40,8,0.007501), Elem(44,0,0.002469), Elem(44,1,0.002963), Elem(44,2,0.003703), + Elem(44,3,0.004938), Elem(44,4,0.007406), Elem(44,5,0.014813), Elem(44,6,1.481273), Elem(44,7,0.014813), Elem(44,8,0.007406), Elem(47,0,0.001459), Elem(47,1,0.001706), + Elem(47,2,0.002055), Elem(47,3,0.002587), Elem(47,4,0.003524), Elem(47,5,0.027337), Elem(47,6,0.010124), Elem(47,7,0.990112), Elem(47,8,0.009975), Elem(52,0,0.001237), + Elem(52,1,0.001414), Elem(52,2,0.001650), Elem(52,3,0.001980), Elem(52,4,0.002475), Elem(52,5,0.003300), Elem(52,6,0.004950), Elem(52,7,0.009900), Elem(52,8,0.990000), + Elem(56,0,0.000025), Elem(56,1,0.000030), Elem(56,2,0.000037), Elem(56,3,0.000050), Elem(56,4,0.000075), Elem(56,5,0.000150), Elem(56,6,0.014962), Elem(56,7,0.000150), + Elem(56,8,0.000075), Elem(59,1,0.000017), Elem(59,2,0.000020), Elem(59,3,0.000025), Elem(59,4,0.000033), Elem(59,5,0.000050), Elem(59,6,0.000100), Elem(59,7,0.010000), + Elem(59,8,0.000100), Elem(64,0,0.006369), Elem(64,1,0.000153), Elem(64,2,0.008965), Elem(64,3,0.000110), Elem(64,4,0.000060), Elem(64,5,0.000042), Elem(64,6,0.000033), + Elem(64,7,0.000027), Elem(64,8,0.000023), Elem(71,0,0.000134), Elem(71,1,0.013367), Elem(71,2,0.000134), Elem(71,3,0.000067), Elem(71,4,0.000045), Elem(71,5,0.000033), + Elem(71,6,0.000027), Elem(71,7,0.000022), Elem(71,8,0.000019), Elem(76,0,0.000045), Elem(76,1,0.000067), Elem(76,2,0.000134), Elem(76,3,0.013367), Elem(76,4,0.000134), + Elem(76,5,0.000067), Elem(76,6,0.000045), Elem(76,7,0.000033), Elem(76,8,0.000027), Elem(83,0,0.000112), Elem(83,1,0.000149), Elem(83,2,0.000224), Elem(83,3,0.000448), + Elem(83,4,0.044774), Elem(83,5,0.000448), Elem(83,6,0.000224), Elem(83,7,0.000149), Elem(83,8,0.000112), Elem(87,0,0.000025), Elem(87,1,0.000030), Elem(87,2,0.000037), + Elem(87,3,0.000050), Elem(87,4,0.000075), Elem(87,5,0.000150), Elem(87,6,0.014962), Elem(87,7,0.000150), Elem(87,8,0.000075), Elem(88,2,0.000017), Elem(88,3,0.000020), + Elem(88,4,0.000025), Elem(88,5,0.000033), Elem(88,6,0.000050), Elem(88,7,0.000100), Elem(88,8,0.010000), Elem(90,0,0.000070), Elem(90,1,0.000091), Elem(90,2,0.000132), + Elem(90,3,0.000249), Elem(90,4,0.022421), Elem(90,5,0.000274), Elem(90,6,0.000212), Elem(90,7,0.010075), Elem(90,8,0.000156), }, + { Elem(0,0,0.000029), Elem(0,1,0.000033), Elem(0,2,0.000040), Elem(0,3,0.000050), Elem(0,4,0.000067), Elem(0,5,0.000100), Elem(0,6,0.000200), Elem(0,7,0.020000), + Elem(0,8,0.000200), Elem(5,0,0.003210), Elem(5,1,0.000105), Elem(5,2,0.004516), Elem(5,3,0.000095), Elem(5,4,0.000080), Elem(5,5,0.000088), Elem(5,6,0.000116), + Elem(5,7,0.000213), Elem(5,8,0.020011), Elem(17,0,0.315277), Elem(17,1,0.007553), Elem(17,2,0.443782), Elem(17,3,0.005466), Elem(17,4,0.002994), Elem(17,5,0.002100), + Elem(17,6,0.001627), Elem(17,7,0.001332), Elem(17,8,0.001128), Elem(24,0,0.006673), Elem(24,1,0.661735), Elem(24,2,0.006729), Elem(24,3,0.003532), Elem(24,4,0.024593), + Elem(24,5,0.001878), Elem(24,6,0.001435), Elem(24,7,0.001177), Elem(24,8,0.001001), Elem(29,0,0.002250), Elem(29,1,0.003364), Elem(29,2,0.006691), Elem(29,3,0.661772), + Elem(29,4,0.006840), Elem(29,5,0.025696), Elem(29,6,0.002429), Elem(29,7,0.001766), Elem(29,8,0.001398), Elem(36,0,0.005608), Elem(36,1,0.014071), Elem(36,2,0.011149), + Elem(36,3,0.022197), Elem(36,4,2.216356), Elem(36,5,0.022180), Elem(36,6,0.011095), Elem(36,7,0.007399), Elem(36,8,0.005550), Elem(38,0,0.000025), Elem(38,1,0.000030), + Elem(38,2,0.000037), Elem(38,3,0.000050), Elem(38,4,0.000075), Elem(38,5,0.000150), Elem(38,6,0.014962), Elem(38,7,0.000150), Elem(38,8,0.000075), Elem(41,0,0.004455), + Elem(41,1,0.005574), Elem(41,2,0.007455), Elem(41,3,0.017765), Elem(41,4,0.022230), Elem(41,5,2.216367), Elem(41,6,0.022186), Elem(41,7,0.011098), Elem(41,8,0.007401), + Elem(43,0,0.000056), Elem(43,1,0.000075), Elem(43,2,0.000112), Elem(43,3,0.000224), Elem(43,4,0.022387), Elem(43,5,0.000224), Elem(43,6,0.000112), Elem(43,7,0.000075), + Elem(43,8,0.000056), Elem(45,0,0.002469), Elem(45,1,0.002963), Elem(45,2,0.003703), Elem(45,3,0.004938), Elem(45,4,0.007406), Elem(45,5,0.014813), Elem(45,6,1.481273), + Elem(45,7,0.014813), Elem(45,8,0.007406), Elem(48,0,0.001414), Elem(48,1,0.001650), Elem(48,2,0.001980), Elem(48,3,0.002475), Elem(48,4,0.003300), Elem(48,5,0.004950), + Elem(48,6,0.009900), Elem(48,7,0.990000), Elem(48,8,0.009900), Elem(53,0,0.001237), Elem(53,1,0.001414), Elem(53,2,0.001650), Elem(53,3,0.001980), Elem(53,4,0.002475), + Elem(53,5,0.003300), Elem(53,6,0.004950), Elem(53,7,0.009900), Elem(53,8,0.990000), Elem(57,0,0.000025), Elem(57,1,0.000030), Elem(57,2,0.000037), Elem(57,3,0.000050), + Elem(57,4,0.000075), Elem(57,5,0.000150), Elem(57,6,0.014962), Elem(57,7,0.000150), Elem(57,8,0.000075), Elem(65,0,0.006369), Elem(65,1,0.000153), Elem(65,2,0.008965), + Elem(65,3,0.000110), Elem(65,4,0.000060), Elem(65,5,0.000042), Elem(65,6,0.000033), Elem(65,7,0.000027), Elem(65,8,0.000023), Elem(72,0,0.000134), Elem(72,1,0.013367), + Elem(72,2,0.000134), Elem(72,3,0.000067), Elem(72,4,0.000045), Elem(72,5,0.000033), Elem(72,6,0.000027), Elem(72,7,0.000022), Elem(72,8,0.000019), Elem(75,0,0.000022), + Elem(75,1,0.000033), Elem(75,2,0.000067), Elem(75,3,0.006683), Elem(75,4,0.000067), Elem(75,5,0.000033), Elem(75,6,0.000022), Elem(75,7,0.000017), Elem(77,0,0.000022), + Elem(77,1,0.000033), Elem(77,2,0.000067), Elem(77,3,0.006683), Elem(77,4,0.000067), Elem(77,5,0.000033), Elem(77,6,0.000022), Elem(77,7,0.000017), Elem(84,0,0.000090), + Elem(84,1,0.000112), Elem(84,2,0.000149), Elem(84,3,0.000224), Elem(84,4,0.000448), Elem(84,5,0.044774), Elem(84,6,0.000448), Elem(84,7,0.000224), Elem(84,8,0.000149), + Elem(88,0,0.000025), Elem(88,1,0.000030), Elem(88,2,0.000037), Elem(88,3,0.000050), Elem(88,4,0.000075), Elem(88,5,0.000150), Elem(88,6,0.014962), Elem(88,7,0.000150), + Elem(88,8,0.000075), Elem(89,2,0.000017), Elem(89,3,0.000020), Elem(89,4,0.000025), Elem(89,5,0.000033), Elem(89,6,0.000050), Elem(89,7,0.000100), Elem(89,8,0.010000), + }, + { Elem(1,0,0.000029), Elem(1,1,0.000033), Elem(1,2,0.000040), Elem(1,3,0.000050), Elem(1,4,0.000067), Elem(1,5,0.000100), Elem(1,6,0.000200), Elem(1,7,0.020000), + Elem(1,8,0.000200), Elem(6,0,0.003210), Elem(6,1,0.000105), Elem(6,2,0.004516), Elem(6,3,0.000095), Elem(6,4,0.000080), Elem(6,5,0.000088), Elem(6,6,0.000116), + Elem(6,7,0.000213), Elem(6,8,0.020011), Elem(18,0,0.315277), Elem(18,1,0.007553), Elem(18,2,0.443782), Elem(18,3,0.005466), Elem(18,4,0.002994), Elem(18,5,0.002100), + Elem(18,6,0.001627), Elem(18,7,0.001332), Elem(18,8,0.001128), Elem(25,0,0.006617), Elem(25,1,0.661660), Elem(25,2,0.006617), Elem(25,3,0.003308), Elem(25,4,0.002206), + Elem(25,5,0.001654), Elem(25,6,0.001323), Elem(25,7,0.001103), Elem(25,8,0.000945), Elem(30,0,0.002250), Elem(30,1,0.003364), Elem(30,2,0.006691), Elem(30,3,0.661772), + Elem(30,4,0.006840), Elem(30,5,0.025696), Elem(30,6,0.002429), Elem(30,7,0.001766), Elem(30,8,0.001398), Elem(33,0,0.000067), Elem(33,1,0.006683), Elem(33,2,0.000067), + Elem(33,3,0.000033), Elem(33,4,0.000022), Elem(33,5,0.000017), Elem(37,0,0.005541), Elem(37,1,0.007388), Elem(37,2,0.011082), Elem(37,3,0.022163), Elem(37,4,2.216334), + Elem(37,5,0.022163), Elem(37,6,0.011082), Elem(37,7,0.007388), Elem(37,8,0.005541), Elem(39,0,0.000025), Elem(39,1,0.000030), Elem(39,2,0.000037), Elem(39,3,0.000050), + Elem(39,4,0.000075), Elem(39,5,0.000150), Elem(39,6,0.014962), Elem(39,7,0.000150), Elem(39,8,0.000075), Elem(42,0,0.004455), Elem(42,1,0.005574), Elem(42,2,0.007455), + Elem(42,3,0.017765), Elem(42,4,0.022230), Elem(42,5,2.216367), Elem(42,6,0.022186), Elem(42,7,0.011098), Elem(42,8,0.007401), Elem(46,0,0.002469), Elem(46,1,0.002963), + Elem(46,2,0.003703), Elem(46,3,0.004938), Elem(46,4,0.007406), Elem(46,5,0.014813), Elem(46,6,1.481273), Elem(46,7,0.014813), Elem(46,8,0.007406), Elem(49,0,0.001414), + Elem(49,1,0.001650), Elem(49,2,0.001980), Elem(49,3,0.002475), Elem(49,4,0.003300), Elem(49,5,0.004950), Elem(49,6,0.009900), Elem(49,7,0.990000), Elem(49,8,0.009900), + Elem(54,0,0.001237), Elem(54,1,0.001414), Elem(54,2,0.001650), Elem(54,3,0.001980), Elem(54,4,0.002475), Elem(54,5,0.003300), Elem(54,6,0.004950), Elem(54,7,0.009900), + Elem(54,8,0.990000), Elem(58,0,0.000025), Elem(58,1,0.000030), Elem(58,2,0.000037), Elem(58,3,0.000050), Elem(58,4,0.000075), Elem(58,5,0.000150), Elem(58,6,0.014962), + Elem(58,7,0.000150), Elem(58,8,0.000075), Elem(66,0,0.006369), Elem(66,1,0.000153), Elem(66,2,0.008965), Elem(66,3,0.000110), Elem(66,4,0.000060), Elem(66,5,0.000042), + Elem(66,6,0.000033), Elem(66,7,0.000027), Elem(66,8,0.000023), Elem(73,0,0.000134), Elem(73,1,0.013367), Elem(73,2,0.000134), Elem(73,3,0.000067), Elem(73,4,0.000045), + Elem(73,5,0.000033), Elem(73,6,0.000027), Elem(73,7,0.000022), Elem(73,8,0.000019), Elem(78,0,0.000045), Elem(78,1,0.000067), Elem(78,2,0.000134), Elem(78,3,0.013367), + Elem(78,4,0.000134), Elem(78,5,0.000067), Elem(78,6,0.000045), Elem(78,7,0.000033), Elem(78,8,0.000027), Elem(85,0,0.000104), Elem(85,1,0.000129), Elem(85,2,0.000169), + Elem(85,3,0.000249), Elem(85,4,0.000481), Elem(85,5,0.044824), Elem(85,6,0.000548), Elem(85,7,0.010224), Elem(85,8,0.000249), Elem(89,0,0.000025), Elem(89,1,0.000030), + Elem(89,2,0.000037), Elem(89,3,0.000050), Elem(89,4,0.000075), Elem(89,5,0.000150), Elem(89,6,0.014962), Elem(89,7,0.000150), Elem(89,8,0.000075), Elem(90,2,0.000017), + Elem(90,3,0.000020), Elem(90,4,0.000025), Elem(90,5,0.000033), Elem(90,6,0.000050), Elem(90,7,0.000100), Elem(90,8,0.010000), }, + { Elem(2,0,0.000029), Elem(2,1,0.000033), Elem(2,2,0.000040), Elem(2,3,0.000050), Elem(2,4,0.000067), Elem(2,5,0.000100), Elem(2,6,0.000200), Elem(2,7,0.020000), + Elem(2,8,0.000200), Elem(7,0,0.003210), Elem(7,1,0.000105), Elem(7,2,0.004516), Elem(7,3,0.000095), Elem(7,4,0.000080), Elem(7,5,0.000088), Elem(7,6,0.000116), + Elem(7,7,0.000213), Elem(7,8,0.020011), Elem(19,0,0.315277), Elem(19,1,0.007553), Elem(19,2,0.443782), Elem(19,3,0.005466), Elem(19,4,0.002994), Elem(19,5,0.002100), + Elem(19,6,0.001627), Elem(19,7,0.001332), Elem(19,8,0.001128), Elem(26,0,0.006673), Elem(26,1,0.661735), Elem(26,2,0.006729), Elem(26,3,0.003532), Elem(26,4,0.024593), + Elem(26,5,0.001878), Elem(26,6,0.001435), Elem(26,7,0.001177), Elem(26,8,0.001001), Elem(31,0,0.002206), Elem(31,1,0.003308), Elem(31,2,0.006617), Elem(31,3,0.661660), + Elem(31,4,0.006617), Elem(31,5,0.003308), Elem(31,6,0.002206), Elem(31,7,0.001654), Elem(31,8,0.001323), Elem(36,0,0.000045), Elem(36,1,0.000056), Elem(36,2,0.000075), + Elem(36,3,0.000112), Elem(36,4,0.000224), Elem(36,5,0.022387), Elem(36,6,0.000224), Elem(36,7,0.000112), Elem(36,8,0.000075), Elem(38,0,0.005608), Elem(38,1,0.014071), + Elem(38,2,0.011149), Elem(38,3,0.022197), Elem(38,4,2.216356), Elem(38,5,0.022180), Elem(38,6,0.011095), Elem(38,7,0.007399), Elem(38,8,0.005550), Elem(40,0,0.000025), + Elem(40,1,0.000030), Elem(40,2,0.000037), Elem(40,3,0.000050), Elem(40,4,0.000075), Elem(40,5,0.000150), Elem(40,6,0.014962), Elem(40,7,0.000150), Elem(40,8,0.000075), + Elem(43,0,0.004445), Elem(43,1,0.005555), Elem(43,2,0.007404), Elem(43,3,0.011102), Elem(43,4,0.022188), Elem(43,5,2.216367), Elem(43,6,0.022213), Elem(43,7,0.011182), + Elem(43,8,0.017388), Elem(45,0,0.000056), Elem(45,1,0.000075), Elem(45,2,0.000112), Elem(45,3,0.000224), Elem(45,4,0.022387), Elem(45,5,0.000224), Elem(45,6,0.000112), + Elem(45,7,0.000075), Elem(45,8,0.000056), Elem(47,0,0.002469), Elem(47,1,0.002963), Elem(47,2,0.003703), Elem(47,3,0.004938), Elem(47,4,0.007406), Elem(47,5,0.014813), + Elem(47,6,1.481273), Elem(47,7,0.014813), Elem(47,8,0.007406), Elem(50,0,0.001414), Elem(50,1,0.001650), Elem(50,2,0.001980), Elem(50,3,0.002475), Elem(50,4,0.003300), + Elem(50,5,0.004950), Elem(50,6,0.009900), Elem(50,7,0.990000), Elem(50,8,0.009900), Elem(55,0,0.001282), Elem(55,1,0.001470), Elem(55,2,0.001725), Elem(55,3,0.002092), + Elem(55,4,0.002699), Elem(55,5,0.025687), Elem(55,6,0.005174), Elem(55,7,0.010012), Elem(55,8,0.990075), Elem(59,0,0.000025), Elem(59,1,0.000030), Elem(59,2,0.000037), + Elem(59,3,0.000050), Elem(59,4,0.000075), Elem(59,5,0.000150), Elem(59,6,0.014962), Elem(59,7,0.000150), Elem(59,8,0.000075), Elem(67,0,0.006369), Elem(67,1,0.000153), + Elem(67,2,0.008965), Elem(67,3,0.000110), Elem(67,4,0.000060), Elem(67,5,0.000042), Elem(67,6,0.000033), Elem(67,7,0.000027), Elem(67,8,0.000023), Elem(74,0,0.000134), + Elem(74,1,0.013367), Elem(74,2,0.000134), Elem(74,3,0.000067), Elem(74,4,0.000045), Elem(74,5,0.000033), Elem(74,6,0.000027), Elem(74,7,0.000022), Elem(74,8,0.000019), + Elem(79,0,0.000045), Elem(79,1,0.000067), Elem(79,2,0.000134), Elem(79,3,0.013367), Elem(79,4,0.000134), Elem(79,5,0.000067), Elem(79,6,0.000045), Elem(79,7,0.000033), + Elem(79,8,0.000027), Elem(86,0,0.000081), Elem(86,1,0.000106), Elem(86,2,0.000161), Elem(86,3,0.006820), Elem(86,4,0.000324), Elem(86,5,0.022471), Elem(86,6,0.000346), + Elem(86,7,0.010129), Elem(86,8,0.000188), Elem(90,0,0.000025), Elem(90,1,0.000030), Elem(90,2,0.000037), Elem(90,3,0.000050), Elem(90,4,0.000075), Elem(90,5,0.000150), + Elem(90,6,0.014962), Elem(90,7,0.000150), Elem(90,8,0.000075), }, + { Elem(0,0,0.000050), Elem(0,1,0.000060), Elem(0,2,0.000075), Elem(0,3,0.000100), Elem(0,4,0.000150), Elem(0,5,0.000299), Elem(0,6,0.029925), Elem(0,7,0.000299), + Elem(0,8,0.000150), Elem(3,0,0.000029), Elem(3,1,0.000033), Elem(3,2,0.000040), Elem(3,3,0.000050), Elem(3,4,0.000067), Elem(3,5,0.000100), Elem(3,6,0.000200), + Elem(3,7,0.020000), Elem(3,8,0.000200), Elem(8,0,0.003210), Elem(8,1,0.000105), Elem(8,2,0.004516), Elem(8,3,0.000095), Elem(8,4,0.000080), Elem(8,5,0.000088), + Elem(8,6,0.000116), Elem(8,7,0.000213), Elem(8,8,0.020011), Elem(20,0,0.315277), Elem(20,1,0.007553), Elem(20,2,0.443782), Elem(20,3,0.005466), Elem(20,4,0.002994), + Elem(20,5,0.002100), Elem(20,6,0.001627), Elem(20,7,0.001332), Elem(20,8,0.001128), Elem(27,0,0.006673), Elem(27,1,0.661735), Elem(27,2,0.006729), Elem(27,3,0.003532), + Elem(27,4,0.024593), Elem(27,5,0.001878), Elem(27,6,0.001435), Elem(27,7,0.001177), Elem(27,8,0.001001), Elem(32,0,0.002206), Elem(32,1,0.003308), Elem(32,2,0.006617), + Elem(32,3,0.661660), Elem(32,4,0.006617), Elem(32,5,0.003308), Elem(32,6,0.002206), Elem(32,7,0.001654), Elem(32,8,0.001323), Elem(33,0,0.000045), Elem(33,1,0.000056), + Elem(33,2,0.000075), Elem(33,3,0.000112), Elem(33,4,0.000224), Elem(33,5,0.022387), Elem(33,6,0.000224), Elem(33,7,0.000112), Elem(33,8,0.000075), Elem(39,0,0.005608), + Elem(39,1,0.014071), Elem(39,2,0.011149), Elem(39,3,0.022197), Elem(39,4,2.216356), Elem(39,5,0.022180), Elem(39,6,0.011095), Elem(39,7,0.007399), Elem(39,8,0.005550), + Elem(44,0,0.004445), Elem(44,1,0.005555), Elem(44,2,0.007404), Elem(44,3,0.011102), Elem(44,4,0.022188), Elem(44,5,2.216367), Elem(44,6,0.022213), Elem(44,7,0.011182), + Elem(44,8,0.017388), Elem(46,0,0.000056), Elem(46,1,0.000075), Elem(46,2,0.000112), Elem(46,3,0.000224), Elem(46,4,0.022387), Elem(46,5,0.000224), Elem(46,6,0.000112), + Elem(46,7,0.000075), Elem(46,8,0.000056), Elem(48,0,0.002469), Elem(48,1,0.002963), Elem(48,2,0.003703), Elem(48,3,0.004938), Elem(48,4,0.007406), Elem(48,5,0.014813), + Elem(48,6,1.481273), Elem(48,7,0.014813), Elem(48,8,0.007406), Elem(51,0,0.001414), Elem(51,1,0.001650), Elem(51,2,0.001980), Elem(51,3,0.002475), Elem(51,4,0.003300), + Elem(51,5,0.004950), Elem(51,6,0.009900), Elem(51,7,0.990000), Elem(51,8,0.009900), Elem(56,0,0.001282), Elem(56,1,0.001470), Elem(56,2,0.001725), Elem(56,3,0.002092), + Elem(56,4,0.002699), Elem(56,5,0.025687), Elem(56,6,0.005174), Elem(56,7,0.010012), Elem(56,8,0.990075), Elem(68,0,0.006369), Elem(68,1,0.000153), Elem(68,2,0.008965), + Elem(68,3,0.000110), Elem(68,4,0.000060), Elem(68,5,0.000042), Elem(68,6,0.000033), Elem(68,7,0.000027), Elem(68,8,0.000023), Elem(75,0,0.000134), Elem(75,1,0.013367), + Elem(75,2,0.000134), Elem(75,3,0.000067), Elem(75,4,0.000045), Elem(75,5,0.000033), Elem(75,6,0.000027), Elem(75,7,0.000022), Elem(75,8,0.000019), Elem(80,0,0.000045), + Elem(80,1,0.000067), Elem(80,2,0.000134), Elem(80,3,0.013367), Elem(80,4,0.000134), Elem(80,5,0.000067), Elem(80,6,0.000045), Elem(80,7,0.000033), Elem(80,8,0.000027), + Elem(87,0,0.000081), Elem(87,1,0.000106), Elem(87,2,0.000161), Elem(87,3,0.006820), Elem(87,4,0.000324), Elem(87,5,0.022471), Elem(87,6,0.000346), Elem(87,7,0.010129), + Elem(87,8,0.000188), }, + { Elem(1,0,0.000050), Elem(1,1,0.000060), Elem(1,2,0.000075), Elem(1,3,0.000100), Elem(1,4,0.000150), Elem(1,5,0.000299), Elem(1,6,0.029925), Elem(1,7,0.000299), + Elem(1,8,0.000150), Elem(4,0,0.000029), Elem(4,1,0.000033), Elem(4,2,0.000040), Elem(4,3,0.000050), Elem(4,4,0.000067), Elem(4,5,0.000100), Elem(4,6,0.000200), + Elem(4,7,0.020000), Elem(4,8,0.000200), Elem(9,0,0.003210), Elem(9,1,0.000105), Elem(9,2,0.004516), Elem(9,3,0.000095), Elem(9,4,0.000080), Elem(9,5,0.000088), + Elem(9,6,0.000116), Elem(9,7,0.000213), Elem(9,8,0.020011), Elem(21,0,0.315277), Elem(21,1,0.007553), Elem(21,2,0.443782), Elem(21,3,0.005466), Elem(21,4,0.002994), + Elem(21,5,0.002100), Elem(21,6,0.001627), Elem(21,7,0.001332), Elem(21,8,0.001128), Elem(25,0,0.000022), Elem(25,1,0.000033), Elem(25,2,0.000067), Elem(25,3,0.006683), + Elem(25,4,0.000067), Elem(25,5,0.000033), Elem(25,6,0.000022), Elem(25,7,0.000017), Elem(28,0,0.006673), Elem(28,1,0.661735), Elem(28,2,0.006729), Elem(28,3,0.003532), + Elem(28,4,0.024593), Elem(28,5,0.001878), Elem(28,6,0.001435), Elem(28,7,0.001177), Elem(28,8,0.001001), Elem(33,0,0.002206), Elem(33,1,0.003308), Elem(33,2,0.006617), + Elem(33,3,0.661660), Elem(33,4,0.006617), Elem(33,5,0.003308), Elem(33,6,0.002206), Elem(33,7,0.001654), Elem(33,8,0.001323), Elem(38,0,0.000045), Elem(38,1,0.000056), + Elem(38,2,0.000075), Elem(38,3,0.000112), Elem(38,4,0.000224), Elem(38,5,0.022387), Elem(38,6,0.000224), Elem(38,7,0.000112), Elem(38,8,0.000075), Elem(40,0,0.005608), + Elem(40,1,0.014071), Elem(40,2,0.011149), Elem(40,3,0.022197), Elem(40,4,2.216356), Elem(40,5,0.022180), Elem(40,6,0.011095), Elem(40,7,0.007399), Elem(40,8,0.005550), + Elem(44,0,0.000022), Elem(44,1,0.000033), Elem(44,2,0.000067), Elem(44,3,0.006683), Elem(44,4,0.000067), Elem(44,5,0.000033), Elem(44,6,0.000022), Elem(44,7,0.000017), + Elem(45,0,0.004445), Elem(45,1,0.005555), Elem(45,2,0.007404), Elem(45,3,0.011102), Elem(45,4,0.022188), Elem(45,5,2.216367), Elem(45,6,0.022213), Elem(45,7,0.011182), + Elem(45,8,0.017388), Elem(47,0,0.000056), Elem(47,1,0.000075), Elem(47,2,0.000112), Elem(47,3,0.000224), Elem(47,4,0.022387), Elem(47,5,0.000224), Elem(47,6,0.000112), + Elem(47,7,0.000075), Elem(47,8,0.000056), Elem(49,0,0.002469), Elem(49,1,0.002963), Elem(49,2,0.003703), Elem(49,3,0.004938), Elem(49,4,0.007406), Elem(49,5,0.014813), + Elem(49,6,1.481273), Elem(49,7,0.014813), Elem(49,8,0.007406), Elem(52,0,0.001414), Elem(52,1,0.001650), Elem(52,2,0.001980), Elem(52,3,0.002475), Elem(52,4,0.003300), + Elem(52,5,0.004950), Elem(52,6,0.009900), Elem(52,7,0.990000), Elem(52,8,0.009900), Elem(57,0,0.001282), Elem(57,1,0.001470), Elem(57,2,0.001725), Elem(57,3,0.002092), + Elem(57,4,0.002699), Elem(57,5,0.025687), Elem(57,6,0.005174), Elem(57,7,0.010012), Elem(57,8,0.990075), Elem(69,0,0.006369), Elem(69,1,0.000153), Elem(69,2,0.008965), + Elem(69,3,0.000110), Elem(69,4,0.000060), Elem(69,5,0.000042), Elem(69,6,0.000033), Elem(69,7,0.000027), Elem(69,8,0.000023), Elem(76,0,0.000134), Elem(76,1,0.013367), + Elem(76,2,0.000134), Elem(76,3,0.000067), Elem(76,4,0.000045), Elem(76,5,0.000033), Elem(76,6,0.000027), Elem(76,7,0.000022), Elem(76,8,0.000019), Elem(81,0,0.000022), + Elem(81,1,0.000033), Elem(81,2,0.000067), Elem(81,3,0.006683), Elem(81,4,0.000067), Elem(81,5,0.000033), Elem(81,6,0.000022), Elem(81,7,0.000017), Elem(85,0,0.000025), + Elem(85,1,0.000030), Elem(85,2,0.000037), Elem(85,3,0.000050), Elem(85,4,0.000075), Elem(85,5,0.000150), Elem(85,6,0.014962), Elem(85,7,0.000150), Elem(85,8,0.000075), + Elem(88,0,0.000059), Elem(88,1,0.000073), Elem(88,2,0.000095), Elem(88,3,0.000137), Elem(88,4,0.000257), Elem(88,5,0.022437), Elem(88,6,0.000324), Elem(88,7,0.010112), + Elem(88,8,0.000175), }, + { Elem(2,0,0.000050), Elem(2,1,0.000060), Elem(2,2,0.000075), Elem(2,3,0.000100), Elem(2,4,0.000150), Elem(2,5,0.000299), Elem(2,6,0.029925), Elem(2,7,0.000299), + Elem(2,8,0.000150), Elem(5,0,0.000029), Elem(5,1,0.000033), Elem(5,2,0.000040), Elem(5,3,0.000050), Elem(5,4,0.000067), Elem(5,5,0.000100), Elem(5,6,0.000200), + Elem(5,7,0.020000), Elem(5,8,0.000200), Elem(10,0,0.003210), Elem(10,1,0.000105), Elem(10,2,0.004516), Elem(10,3,0.000095), Elem(10,4,0.000080), Elem(10,5,0.000088), + Elem(10,6,0.000116), Elem(10,7,0.000213), Elem(10,8,0.020011), Elem(22,0,0.315277), Elem(22,1,0.007553), Elem(22,2,0.443782), Elem(22,3,0.005466), Elem(22,4,0.002994), + Elem(22,5,0.002100), Elem(22,6,0.001627), Elem(22,7,0.001332), Elem(22,8,0.001128), Elem(29,0,0.006673), Elem(29,1,0.661735), Elem(29,2,0.006729), Elem(29,3,0.003532), + Elem(29,4,0.024593), Elem(29,5,0.001878), Elem(29,6,0.001435), Elem(29,7,0.001177), Elem(29,8,0.001001), Elem(34,0,0.002206), Elem(34,1,0.003308), Elem(34,2,0.006617), + Elem(34,3,0.661660), Elem(34,4,0.006617), Elem(34,5,0.003308), Elem(34,6,0.002206), Elem(34,7,0.001654), Elem(34,8,0.001323), Elem(39,0,0.000045), Elem(39,1,0.000056), + Elem(39,2,0.000075), Elem(39,3,0.000112), Elem(39,4,0.000224), Elem(39,5,0.022387), Elem(39,6,0.000224), Elem(39,7,0.000112), Elem(39,8,0.000075), Elem(41,0,0.005608), + Elem(41,1,0.014071), Elem(41,2,0.011149), Elem(41,3,0.022197), Elem(41,4,2.216356), Elem(41,5,0.022180), Elem(41,6,0.011095), Elem(41,7,0.007399), Elem(41,8,0.005550), + Elem(46,0,0.004445), Elem(46,1,0.005555), Elem(46,2,0.007404), Elem(46,3,0.011102), Elem(46,4,0.022188), Elem(46,5,2.216367), Elem(46,6,0.022213), Elem(46,7,0.011182), + Elem(46,8,0.017388), Elem(50,0,0.002469), Elem(50,1,0.002963), Elem(50,2,0.003703), Elem(50,3,0.004938), Elem(50,4,0.007406), Elem(50,5,0.014813), Elem(50,6,1.481273), + Elem(50,7,0.014813), Elem(50,8,0.007406), Elem(53,0,0.001414), Elem(53,1,0.001650), Elem(53,2,0.001980), Elem(53,3,0.002475), Elem(53,4,0.003300), Elem(53,5,0.004950), + Elem(53,6,0.009900), Elem(53,7,0.990000), Elem(53,8,0.009900), Elem(58,0,0.001282), Elem(58,1,0.001470), Elem(58,2,0.001725), Elem(58,3,0.002092), Elem(58,4,0.002699), + Elem(58,5,0.025687), Elem(58,6,0.005174), Elem(58,7,0.010012), Elem(58,8,0.990075), Elem(70,0,0.006369), Elem(70,1,0.000153), Elem(70,2,0.008965), Elem(70,3,0.000110), + Elem(70,4,0.000060), Elem(70,5,0.000042), Elem(70,6,0.000033), Elem(70,7,0.000027), Elem(70,8,0.000023), Elem(75,0,0.000067), Elem(75,1,0.006683), Elem(75,2,0.000067), + Elem(75,3,0.000033), Elem(75,4,0.000022), Elem(75,5,0.000017), Elem(77,0,0.000067), Elem(77,1,0.006683), Elem(77,2,0.000067), Elem(77,3,0.000033), Elem(77,4,0.000022), + Elem(77,5,0.000017), Elem(82,0,0.000045), Elem(82,1,0.000067), Elem(82,2,0.000134), Elem(82,3,0.013367), Elem(82,4,0.000134), Elem(82,5,0.000067), Elem(82,6,0.000045), + Elem(82,7,0.000033), Elem(82,8,0.000027), Elem(84,0,0.000112), Elem(84,1,0.000149), Elem(84,2,0.000224), Elem(84,3,0.000448), Elem(84,4,0.044774), Elem(84,5,0.000448), + Elem(84,6,0.000224), Elem(84,7,0.000149), Elem(84,8,0.000112), Elem(86,0,0.000025), Elem(86,1,0.000030), Elem(86,2,0.000037), Elem(86,3,0.000050), Elem(86,4,0.000075), + Elem(86,5,0.000150), Elem(86,6,0.014962), Elem(86,7,0.000150), Elem(86,8,0.000075), Elem(89,0,0.000081), Elem(89,1,0.000106), Elem(89,2,0.000161), Elem(89,3,0.006820), + Elem(89,4,0.000324), Elem(89,5,0.022471), Elem(89,6,0.000346), Elem(89,7,0.010129), Elem(89,8,0.000188), }, + { Elem(3,0,0.000050), Elem(3,1,0.000060), Elem(3,2,0.000075), Elem(3,3,0.000100), Elem(3,4,0.000150), Elem(3,5,0.000299), Elem(3,6,0.029925), Elem(3,7,0.000299), + Elem(3,8,0.000150), Elem(6,0,0.000029), Elem(6,1,0.000033), Elem(6,2,0.000040), Elem(6,3,0.000050), Elem(6,4,0.000067), Elem(6,5,0.000100), Elem(6,6,0.000200), + Elem(6,7,0.020000), Elem(6,8,0.000200), Elem(11,0,0.003210), Elem(11,1,0.000105), Elem(11,2,0.004516), Elem(11,3,0.000095), Elem(11,4,0.000080), Elem(11,5,0.000088), + Elem(11,6,0.000116), Elem(11,7,0.000213), Elem(11,8,0.020011), Elem(23,0,0.315277), Elem(23,1,0.007553), Elem(23,2,0.443782), Elem(23,3,0.005466), Elem(23,4,0.002994), + Elem(23,5,0.002100), Elem(23,6,0.001627), Elem(23,7,0.001332), Elem(23,8,0.001128), Elem(30,0,0.006673), Elem(30,1,0.661735), Elem(30,2,0.006729), Elem(30,3,0.003532), + Elem(30,4,0.024593), Elem(30,5,0.001878), Elem(30,6,0.001435), Elem(30,7,0.001177), Elem(30,8,0.001001), Elem(35,0,0.002206), Elem(35,1,0.003308), Elem(35,2,0.006617), + Elem(35,3,0.661660), Elem(35,4,0.006617), Elem(35,5,0.003308), Elem(35,6,0.002206), Elem(35,7,0.001654), Elem(35,8,0.001323), Elem(40,0,0.000045), Elem(40,1,0.000056), + Elem(40,2,0.000075), Elem(40,3,0.000112), Elem(40,4,0.000224), Elem(40,5,0.022387), Elem(40,6,0.000224), Elem(40,7,0.000112), Elem(40,8,0.000075), Elem(42,0,0.005608), + Elem(42,1,0.014071), Elem(42,2,0.011149), Elem(42,3,0.022197), Elem(42,4,2.216356), Elem(42,5,0.022180), Elem(42,6,0.011095), Elem(42,7,0.007399), Elem(42,8,0.005550), + Elem(47,0,0.004445), Elem(47,1,0.005555), Elem(47,2,0.007404), Elem(47,3,0.011102), Elem(47,4,0.022188), Elem(47,5,2.216367), Elem(47,6,0.022213), Elem(47,7,0.011182), + Elem(47,8,0.017388), Elem(51,0,0.002469), Elem(51,1,0.002963), Elem(51,2,0.003703), Elem(51,3,0.004938), Elem(51,4,0.007406), Elem(51,5,0.014813), Elem(51,6,1.481273), + Elem(51,7,0.014813), Elem(51,8,0.007406), Elem(54,0,0.001414), Elem(54,1,0.001650), Elem(54,2,0.001980), Elem(54,3,0.002475), Elem(54,4,0.003300), Elem(54,5,0.004950), + Elem(54,6,0.009900), Elem(54,7,0.990000), Elem(54,8,0.009900), Elem(59,0,0.001282), Elem(59,1,0.001470), Elem(59,2,0.001725), Elem(59,3,0.002092), Elem(59,4,0.002699), + Elem(59,5,0.025687), Elem(59,6,0.005174), Elem(59,7,0.010012), Elem(59,8,0.990075), Elem(71,0,0.006369), Elem(71,1,0.000153), Elem(71,2,0.008965), Elem(71,3,0.000110), + Elem(71,4,0.000060), Elem(71,5,0.000042), Elem(71,6,0.000033), Elem(71,7,0.000027), Elem(71,8,0.000023), Elem(78,0,0.000134), Elem(78,1,0.013367), Elem(78,2,0.000134), + Elem(78,3,0.000067), Elem(78,4,0.000045), Elem(78,5,0.000033), Elem(78,6,0.000027), Elem(78,7,0.000022), Elem(78,8,0.000019), Elem(83,0,0.000045), Elem(83,1,0.000067), + Elem(83,2,0.000134), Elem(83,3,0.013367), Elem(83,4,0.000134), Elem(83,5,0.000067), Elem(83,6,0.000045), Elem(83,7,0.000033), Elem(83,8,0.000027), Elem(85,0,0.000112), + Elem(85,1,0.000149), Elem(85,2,0.000224), Elem(85,3,0.000448), Elem(85,4,0.044774), Elem(85,5,0.000448), Elem(85,6,0.000224), Elem(85,7,0.000149), Elem(85,8,0.000112), + Elem(87,0,0.000025), Elem(87,1,0.000030), Elem(87,2,0.000037), Elem(87,3,0.000050), Elem(87,4,0.000075), Elem(87,5,0.000150), Elem(87,6,0.014962), Elem(87,7,0.000150), + Elem(87,8,0.000075), Elem(90,0,0.000081), Elem(90,1,0.000106), Elem(90,2,0.000161), Elem(90,3,0.006820), Elem(90,4,0.000324), Elem(90,5,0.022471), Elem(90,6,0.000346), + Elem(90,7,0.010129), Elem(90,8,0.000188), }, + { Elem(0,0,0.004527), Elem(0,1,0.000119), Elem(0,2,0.000122), Elem(0,3,0.000165), Elem(0,4,0.000310), Elem(0,5,0.029934), Elem(0,6,0.000307), Elem(0,7,0.000156), + Elem(0,8,0.000105), Elem(4,0,0.000050), Elem(4,1,0.000060), Elem(4,2,0.000075), Elem(4,3,0.000100), Elem(4,4,0.000150), Elem(4,5,0.000299), Elem(4,6,0.029925), + Elem(4,7,0.000299), Elem(4,8,0.000150), Elem(7,0,0.000029), Elem(7,1,0.000033), Elem(7,2,0.000040), Elem(7,3,0.000050), Elem(7,4,0.000067), Elem(7,5,0.000100), + Elem(7,6,0.000200), Elem(7,7,0.020000), Elem(7,8,0.000200), Elem(12,0,0.442242), Elem(12,1,0.004451), Elem(12,2,0.002244), Elem(12,3,0.001514), Elem(12,4,0.001156), + Elem(12,5,0.000951), Elem(12,6,0.000837), Elem(12,7,0.000832), Elem(12,8,0.020553), Elem(24,0,0.002233), Elem(24,1,0.004456), Elem(24,2,0.442284), Elem(24,3,0.011106), + Elem(24,4,0.002278), Elem(24,5,0.001507), Elem(24,6,0.001128), Elem(24,7,0.000901), Elem(24,8,0.000750), Elem(31,0,0.006617), Elem(31,1,0.661660), Elem(31,2,0.006617), + Elem(31,3,0.003308), Elem(31,4,0.002206), Elem(31,5,0.001654), Elem(31,6,0.001323), Elem(31,7,0.001103), Elem(31,8,0.000945), Elem(36,0,0.002284), Elem(36,1,0.003428), + Elem(36,2,0.011195), Elem(36,3,0.661929), Elem(36,4,0.029026), Elem(36,5,0.003547), Elem(36,6,0.002329), Elem(36,7,0.001738), Elem(36,8,0.001387), Elem(43,0,0.005577), + Elem(43,1,0.007438), Elem(43,2,0.011169), Elem(43,3,0.028872), Elem(43,4,2.216434), Elem(43,5,0.022247), Elem(43,6,0.011204), Elem(43,7,0.017404), Elem(43,8,0.005654), + Elem(48,0,0.002963), Elem(48,1,0.003703), Elem(48,2,0.004938), Elem(48,3,0.007406), Elem(48,4,0.014813), Elem(48,5,1.481273), Elem(48,6,0.014813), Elem(48,7,0.007406), + Elem(48,8,0.004938), Elem(52,0,0.002469), Elem(52,1,0.002963), Elem(52,2,0.003703), Elem(52,3,0.004938), Elem(52,4,0.007406), Elem(52,5,0.014813), Elem(52,6,1.481273), + Elem(52,7,0.014813), Elem(52,8,0.007406), Elem(55,0,0.001470), Elem(55,1,0.001725), Elem(55,2,0.002092), Elem(55,3,0.002699), Elem(55,4,0.025687), Elem(55,5,0.005174), + Elem(55,6,0.010012), Elem(55,7,0.990075), Elem(55,8,0.009956), Elem(60,0,0.010171), Elem(60,1,0.001504), Elem(60,2,0.001695), Elem(60,3,0.002010), Elem(60,4,0.002497), + Elem(60,5,0.003318), Elem(60,6,0.004965), Elem(60,7,0.009913), Elem(60,8,0.990011), Elem(72,0,0.000057), Elem(72,1,0.000104), Elem(72,2,0.008950), Elem(72,3,0.000109), + Elem(72,4,0.000070), Elem(72,5,0.000063), Elem(72,6,0.000072), Elem(72,7,0.000118), Elem(72,8,0.010015), Elem(79,0,0.000134), Elem(79,1,0.013367), Elem(79,2,0.000134), + Elem(79,3,0.000067), Elem(79,4,0.000045), Elem(79,5,0.000033), Elem(79,6,0.000027), Elem(79,7,0.000022), Elem(79,8,0.000019), Elem(86,0,0.000123), Elem(86,1,0.006758), + Elem(86,2,0.000179), Elem(86,3,0.000257), Elem(86,4,0.022409), Elem(86,5,0.000241), Elem(86,6,0.000125), Elem(86,7,0.000086), Elem(86,8,0.000066), Elem(88,0,0.000025), + Elem(88,1,0.000030), Elem(88,2,0.000037), Elem(88,3,0.000050), Elem(88,4,0.000075), Elem(88,5,0.000150), Elem(88,6,0.014962), Elem(88,7,0.000150), Elem(88,8,0.000075), + }, + { Elem(1,0,0.004527), Elem(1,1,0.000119), Elem(1,2,0.000122), Elem(1,3,0.000165), Elem(1,4,0.000310), Elem(1,5,0.029934), Elem(1,6,0.000307), Elem(1,7,0.000156), + Elem(1,8,0.000105), Elem(5,0,0.000050), Elem(5,1,0.000060), Elem(5,2,0.000075), Elem(5,3,0.000100), Elem(5,4,0.000150), Elem(5,5,0.000299), Elem(5,6,0.029925), + Elem(5,7,0.000299), Elem(5,8,0.000150), Elem(8,0,0.000029), Elem(8,1,0.000033), Elem(8,2,0.000040), Elem(8,3,0.000050), Elem(8,4,0.000067), Elem(8,5,0.000100), + Elem(8,6,0.000200), Elem(8,7,0.020000), Elem(8,8,0.000200), Elem(13,0,0.442242), Elem(13,1,0.004451), Elem(13,2,0.002244), Elem(13,3,0.001514), Elem(13,4,0.001156), + Elem(13,5,0.000951), Elem(13,6,0.000837), Elem(13,7,0.000832), Elem(13,8,0.020553), Elem(25,0,0.002211), Elem(25,1,0.004422), Elem(25,2,0.442217), Elem(25,3,0.004422), + Elem(25,4,0.002211), Elem(25,5,0.001474), Elem(25,6,0.001106), Elem(25,7,0.000884), Elem(25,8,0.000737), Elem(32,0,0.006617), Elem(32,1,0.661660), Elem(32,2,0.006617), + Elem(32,3,0.003308), Elem(32,4,0.002206), Elem(32,5,0.001654), Elem(32,6,0.001323), Elem(32,7,0.001103), Elem(32,8,0.000945), Elem(33,0,0.000078), Elem(33,1,0.000119), + Elem(33,2,0.004579), Elem(33,3,0.000269), Elem(33,4,0.022410), Elem(33,5,0.000239), Elem(33,6,0.000123), Elem(33,7,0.000084), Elem(33,8,0.000063), Elem(37,0,0.002206), + Elem(37,1,0.003308), Elem(37,2,0.006617), Elem(37,3,0.661660), Elem(37,4,0.006617), Elem(37,5,0.003308), Elem(37,6,0.002206), Elem(37,7,0.001654), Elem(37,8,0.001323), + Elem(44,0,0.005555), Elem(44,1,0.007404), Elem(44,2,0.011102), Elem(44,3,0.022188), Elem(44,4,2.216367), Elem(44,5,0.022213), Elem(44,6,0.011182), Elem(44,7,0.017388), + Elem(44,8,0.005641), Elem(49,0,0.002963), Elem(49,1,0.003703), Elem(49,2,0.004938), Elem(49,3,0.007406), Elem(49,4,0.014813), Elem(49,5,1.481273), Elem(49,6,0.014813), + Elem(49,7,0.007406), Elem(49,8,0.004938), Elem(53,0,0.002469), Elem(53,1,0.002963), Elem(53,2,0.003703), Elem(53,3,0.004938), Elem(53,4,0.007406), Elem(53,5,0.014813), + Elem(53,6,1.481273), Elem(53,7,0.014813), Elem(53,8,0.007406), Elem(56,0,0.001470), Elem(56,1,0.001725), Elem(56,2,0.002092), Elem(56,3,0.002699), Elem(56,4,0.025687), + Elem(56,5,0.005174), Elem(56,6,0.010012), Elem(56,7,0.990075), Elem(56,8,0.009956), Elem(61,0,0.010171), Elem(61,1,0.001504), Elem(61,2,0.001695), Elem(61,3,0.002010), + Elem(61,4,0.002497), Elem(61,5,0.003318), Elem(61,6,0.004965), Elem(61,7,0.009913), Elem(61,8,0.990011), Elem(73,0,0.000057), Elem(73,1,0.000104), Elem(73,2,0.008950), + Elem(73,3,0.000109), Elem(73,4,0.000070), Elem(73,5,0.000063), Elem(73,6,0.000072), Elem(73,7,0.000118), Elem(73,8,0.010015), Elem(80,0,0.000134), Elem(80,1,0.013367), + Elem(80,2,0.000134), Elem(80,3,0.000067), Elem(80,4,0.000045), Elem(80,5,0.000033), Elem(80,6,0.000027), Elem(80,7,0.000022), Elem(80,8,0.000019), Elem(85,0,0.000030), + Elem(85,1,0.000037), Elem(85,2,0.000050), Elem(85,3,0.000075), Elem(85,4,0.000150), Elem(85,5,0.014962), Elem(85,6,0.000150), Elem(85,7,0.000075), Elem(85,8,0.000050), + Elem(87,0,0.000123), Elem(87,1,0.006758), Elem(87,2,0.000179), Elem(87,3,0.000257), Elem(87,4,0.022409), Elem(87,5,0.000241), Elem(87,6,0.000125), Elem(87,7,0.000086), + Elem(87,8,0.000066), Elem(89,0,0.000025), Elem(89,1,0.000030), Elem(89,2,0.000037), Elem(89,3,0.000050), Elem(89,4,0.000075), Elem(89,5,0.000150), Elem(89,6,0.014962), + Elem(89,7,0.000150), Elem(89,8,0.000075), }, + { Elem(2,0,0.004527), Elem(2,1,0.000119), Elem(2,2,0.000122), Elem(2,3,0.000165), Elem(2,4,0.000310), Elem(2,5,0.029934), Elem(2,6,0.000307), Elem(2,7,0.000156), + Elem(2,8,0.000105), Elem(6,0,0.000033), Elem(6,1,0.000040), Elem(6,2,0.000050), Elem(6,3,0.000067), Elem(6,4,0.000100), Elem(6,5,0.000200), Elem(6,6,0.020000), + Elem(6,7,0.000200), Elem(6,8,0.000100), Elem(9,0,0.000029), Elem(9,1,0.000033), Elem(9,2,0.000040), Elem(9,3,0.000050), Elem(9,4,0.000067), Elem(9,5,0.000100), + Elem(9,6,0.000200), Elem(9,7,0.020000), Elem(9,8,0.000200), Elem(14,0,0.442242), Elem(14,1,0.004451), Elem(14,2,0.002244), Elem(14,3,0.001514), Elem(14,4,0.001156), + Elem(14,5,0.000951), Elem(14,6,0.000837), Elem(14,7,0.000832), Elem(14,8,0.020553), Elem(25,0,0.000067), Elem(25,1,0.006683), Elem(25,2,0.000067), Elem(25,3,0.000033), + Elem(25,4,0.000022), Elem(25,5,0.000017), Elem(26,0,0.002233), Elem(26,1,0.004456), Elem(26,2,0.442284), Elem(26,3,0.011106), Elem(26,4,0.002278), Elem(26,5,0.001507), + Elem(26,6,0.001128), Elem(26,7,0.000901), Elem(26,8,0.000750), Elem(33,0,0.006617), Elem(33,1,0.661660), Elem(33,2,0.006617), Elem(33,3,0.003308), Elem(33,4,0.002206), + Elem(33,5,0.001654), Elem(33,6,0.001323), Elem(33,7,0.001103), Elem(33,8,0.000945), Elem(38,0,0.002265), Elem(38,1,0.003403), Elem(38,2,0.011158), Elem(38,3,0.661855), + Elem(38,4,0.021601), Elem(38,5,0.003473), Elem(38,6,0.002292), Elem(38,7,0.001713), Elem(38,8,0.001368), Elem(44,0,0.000067), Elem(44,1,0.006683), Elem(44,2,0.000067), + Elem(44,3,0.000033), Elem(44,4,0.000022), Elem(44,5,0.000017), Elem(45,0,0.003740), Elem(45,1,0.004988), Elem(45,2,0.007493), Elem(45,3,0.021521), Elem(45,4,1.481374), + Elem(45,5,0.014896), Elem(45,6,0.007529), Elem(45,7,0.014954), Elem(45,8,0.003817), Elem(50,0,0.002963), Elem(50,1,0.003703), Elem(50,2,0.004938), Elem(50,3,0.007406), + Elem(50,4,0.014813), Elem(50,5,1.481273), Elem(50,6,0.014813), Elem(50,7,0.007406), Elem(50,8,0.004938), Elem(54,0,0.001650), Elem(54,1,0.001980), Elem(54,2,0.002475), + Elem(54,3,0.003300), Elem(54,4,0.004950), Elem(54,5,0.009900), Elem(54,6,0.990000), Elem(54,7,0.009900), Elem(54,8,0.004950), Elem(57,0,0.001452), Elem(57,1,0.001700), + Elem(57,2,0.002055), Elem(57,3,0.002625), Elem(57,4,0.018262), Elem(57,5,0.005100), Elem(57,6,0.009975), Elem(57,7,0.990050), Elem(57,8,0.009937), Elem(62,0,0.010171), + Elem(62,1,0.001504), Elem(62,2,0.001695), Elem(62,3,0.002010), Elem(62,4,0.002497), Elem(62,5,0.003318), Elem(62,6,0.004965), Elem(62,7,0.009913), Elem(62,8,0.990011), + Elem(74,0,0.000057), Elem(74,1,0.000104), Elem(74,2,0.008950), Elem(74,3,0.000109), Elem(74,4,0.000070), Elem(74,5,0.000063), Elem(74,6,0.000072), Elem(74,7,0.000118), + Elem(74,8,0.010015), Elem(81,0,0.000067), Elem(81,1,0.006683), Elem(81,2,0.000067), Elem(81,3,0.000033), Elem(81,4,0.000022), Elem(81,5,0.000017), Elem(86,0,0.000030), + Elem(86,1,0.000037), Elem(86,2,0.000050), Elem(86,3,0.000075), Elem(86,4,0.000150), Elem(86,5,0.014962), Elem(86,6,0.000150), Elem(86,7,0.000075), Elem(86,8,0.000050), + Elem(88,0,0.000037), Elem(88,1,0.000050), Elem(88,2,0.000075), Elem(88,3,0.000150), Elem(88,4,0.014962), Elem(88,5,0.000150), Elem(88,6,0.000075), Elem(88,7,0.000050), + Elem(88,8,0.000037), Elem(90,0,0.000017), Elem(90,1,0.000020), Elem(90,2,0.000025), Elem(90,3,0.000033), Elem(90,4,0.000050), Elem(90,5,0.000100), Elem(90,6,0.010000), + Elem(90,7,0.000100), Elem(90,8,0.000050), }, + { Elem(3,0,0.004507), Elem(3,1,0.000095), Elem(3,2,0.000089), Elem(3,3,0.000115), Elem(3,4,0.000211), Elem(3,5,0.020009), Elem(3,6,0.000207), Elem(3,7,0.000106), + Elem(3,8,0.000072), Elem(7,0,0.000033), Elem(7,1,0.000040), Elem(7,2,0.000050), Elem(7,3,0.000067), Elem(7,4,0.000100), Elem(7,5,0.000200), Elem(7,6,0.020000), + Elem(7,7,0.000200), Elem(7,8,0.000100), Elem(10,0,0.000029), Elem(10,1,0.000033), Elem(10,2,0.000040), Elem(10,3,0.000050), Elem(10,4,0.000067), Elem(10,5,0.000100), + Elem(10,6,0.000200), Elem(10,7,0.020000), Elem(10,8,0.000200), Elem(15,0,0.442242), Elem(15,1,0.004451), Elem(15,2,0.002244), Elem(15,3,0.001514), Elem(15,4,0.001156), + Elem(15,5,0.000951), Elem(15,6,0.000837), Elem(15,7,0.000832), Elem(15,8,0.020553), Elem(27,0,0.002233), Elem(27,1,0.004456), Elem(27,2,0.442284), Elem(27,3,0.011106), + Elem(27,4,0.002278), Elem(27,5,0.001507), Elem(27,6,0.001128), Elem(27,7,0.000901), Elem(27,8,0.000750), Elem(34,0,0.009900), Elem(34,1,0.990000), Elem(34,2,0.009900), + Elem(34,3,0.004950), Elem(34,4,0.003300), Elem(34,5,0.002475), Elem(34,6,0.001980), Elem(34,7,0.001650), Elem(34,8,0.001414), Elem(39,0,0.002265), Elem(39,1,0.003403), + Elem(39,2,0.011158), Elem(39,3,0.661855), Elem(39,4,0.021601), Elem(39,5,0.003473), Elem(39,6,0.002292), Elem(39,7,0.001713), Elem(39,8,0.001368), Elem(43,0,0.000017), + Elem(43,1,0.000020), Elem(43,2,0.000025), Elem(43,3,0.000033), Elem(43,4,0.000050), Elem(43,5,0.000100), Elem(43,6,0.010000), Elem(43,7,0.000100), Elem(43,8,0.000050), + Elem(46,0,0.003740), Elem(46,1,0.004988), Elem(46,2,0.007493), Elem(46,3,0.021521), Elem(46,4,1.481374), Elem(46,5,0.014896), Elem(46,6,0.007529), Elem(46,7,0.014954), + Elem(46,8,0.003817), Elem(51,0,0.001980), Elem(51,1,0.002475), Elem(51,2,0.003300), Elem(51,3,0.004950), Elem(51,4,0.009900), Elem(51,5,0.990000), Elem(51,6,0.009900), + Elem(51,7,0.004950), Elem(51,8,0.003300), Elem(55,0,0.001650), Elem(55,1,0.001980), Elem(55,2,0.002475), Elem(55,3,0.003300), Elem(55,4,0.004950), Elem(55,5,0.009900), + Elem(55,6,0.990000), Elem(55,7,0.009900), Elem(55,8,0.004950), Elem(58,0,0.001452), Elem(58,1,0.001700), Elem(58,2,0.002055), Elem(58,3,0.002625), Elem(58,4,0.018262), + Elem(58,5,0.005100), Elem(58,6,0.009975), Elem(58,7,0.990050), Elem(58,8,0.009937), Elem(63,0,0.010171), Elem(63,1,0.001504), Elem(63,2,0.001695), Elem(63,3,0.002010), + Elem(63,4,0.002497), Elem(63,5,0.003318), Elem(63,6,0.004965), Elem(63,7,0.009913), Elem(63,8,0.990011), Elem(75,0,0.000057), Elem(75,1,0.000104), Elem(75,2,0.008950), + Elem(75,3,0.000109), Elem(75,4,0.000070), Elem(75,5,0.000063), Elem(75,6,0.000072), Elem(75,7,0.000118), Elem(75,8,0.010015), Elem(82,0,0.000200), Elem(82,1,0.020000), + Elem(82,2,0.000200), Elem(82,3,0.000100), Elem(82,4,0.000067), Elem(82,5,0.000050), Elem(82,6,0.000040), Elem(82,7,0.000033), Elem(82,8,0.000029), Elem(87,0,0.000020), + Elem(87,1,0.000025), Elem(87,2,0.000033), Elem(87,3,0.000050), Elem(87,4,0.000100), Elem(87,5,0.010000), Elem(87,6,0.000100), Elem(87,7,0.000050), Elem(87,8,0.000033), + Elem(89,0,0.000137), Elem(89,1,0.010050), Elem(89,2,0.000175), Elem(89,3,0.000200), Elem(89,4,0.014996), Elem(89,5,0.000175), Elem(89,6,0.000095), Elem(89,7,0.000067), + Elem(89,8,0.000052), }, + { Elem(4,0,0.004507), Elem(4,1,0.000095), Elem(4,2,0.000089), Elem(4,3,0.000115), Elem(4,4,0.000211), Elem(4,5,0.020009), Elem(4,6,0.000207), Elem(4,7,0.000106), + Elem(4,8,0.000072), Elem(8,0,0.000033), Elem(8,1,0.000040), Elem(8,2,0.000050), Elem(8,3,0.000067), Elem(8,4,0.000100), Elem(8,5,0.000200), Elem(8,6,0.020000), + Elem(8,7,0.000200), Elem(8,8,0.000100), Elem(11,0,0.000029), Elem(11,1,0.000033), Elem(11,2,0.000040), Elem(11,3,0.000050), Elem(11,4,0.000067), Elem(11,5,0.000100), + Elem(11,6,0.000200), Elem(11,7,0.020000), Elem(11,8,0.000200), Elem(16,0,0.442242), Elem(16,1,0.004451), Elem(16,2,0.002244), Elem(16,3,0.001514), Elem(16,4,0.001156), + Elem(16,5,0.000951), Elem(16,6,0.000837), Elem(16,7,0.000832), Elem(16,8,0.020553), Elem(28,0,0.002233), Elem(28,1,0.004456), Elem(28,2,0.442284), Elem(28,3,0.011106), + Elem(28,4,0.002278), Elem(28,5,0.001507), Elem(28,6,0.001128), Elem(28,7,0.000901), Elem(28,8,0.000750), Elem(35,0,0.009900), Elem(35,1,0.990000), Elem(35,2,0.009900), + Elem(35,3,0.004950), Elem(35,4,0.003300), Elem(35,5,0.002475), Elem(35,6,0.001980), Elem(35,7,0.001650), Elem(35,8,0.001414), Elem(40,0,0.002265), Elem(40,1,0.003403), + Elem(40,2,0.011158), Elem(40,3,0.661855), Elem(40,4,0.021601), Elem(40,5,0.003473), Elem(40,6,0.002292), Elem(40,7,0.001713), Elem(40,8,0.001368), Elem(44,0,0.000017), + Elem(44,1,0.000020), Elem(44,2,0.000025), Elem(44,3,0.000033), Elem(44,4,0.000050), Elem(44,5,0.000100), Elem(44,6,0.010000), Elem(44,7,0.000100), Elem(44,8,0.000050), + Elem(47,0,0.003740), Elem(47,1,0.004988), Elem(47,2,0.007493), Elem(47,3,0.021521), Elem(47,4,1.481374), Elem(47,5,0.014896), Elem(47,6,0.007529), Elem(47,7,0.014954), + Elem(47,8,0.003817), Elem(52,0,0.001980), Elem(52,1,0.002475), Elem(52,2,0.003300), Elem(52,3,0.004950), Elem(52,4,0.009900), Elem(52,5,0.990000), Elem(52,6,0.009900), + Elem(52,7,0.004950), Elem(52,8,0.003300), Elem(56,0,0.001650), Elem(56,1,0.001980), Elem(56,2,0.002475), Elem(56,3,0.003300), Elem(56,4,0.004950), Elem(56,5,0.009900), + Elem(56,6,0.990000), Elem(56,7,0.009900), Elem(56,8,0.004950), Elem(59,0,0.001452), Elem(59,1,0.001700), Elem(59,2,0.002055), Elem(59,3,0.002625), Elem(59,4,0.018262), + Elem(59,5,0.005100), Elem(59,6,0.009975), Elem(59,7,0.990050), Elem(59,8,0.009937), Elem(64,0,0.010171), Elem(64,1,0.001504), Elem(64,2,0.001695), Elem(64,3,0.002010), + Elem(64,4,0.002497), Elem(64,5,0.003318), Elem(64,6,0.004965), Elem(64,7,0.009913), Elem(64,8,0.990011), Elem(76,0,0.000057), Elem(76,1,0.000104), Elem(76,2,0.008950), + Elem(76,3,0.000109), Elem(76,4,0.000070), Elem(76,5,0.000063), Elem(76,6,0.000072), Elem(76,7,0.000118), Elem(76,8,0.010015), Elem(83,0,0.000200), Elem(83,1,0.020000), + Elem(83,2,0.000200), Elem(83,3,0.000100), Elem(83,4,0.000067), Elem(83,5,0.000050), Elem(83,6,0.000040), Elem(83,7,0.000033), Elem(83,8,0.000029), Elem(88,0,0.000020), + Elem(88,1,0.000025), Elem(88,2,0.000033), Elem(88,3,0.000050), Elem(88,4,0.000100), Elem(88,5,0.010000), Elem(88,6,0.000100), Elem(88,7,0.000050), Elem(88,8,0.000033), + Elem(90,0,0.000137), Elem(90,1,0.010050), Elem(90,2,0.000175), Elem(90,3,0.000200), Elem(90,4,0.014996), Elem(90,5,0.000175), Elem(90,6,0.000095), Elem(90,7,0.000067), + Elem(90,8,0.000052), }, + { Elem(0,0,0.000075), Elem(0,1,0.000100), Elem(0,2,0.000150), Elem(0,3,0.000299), Elem(0,4,0.029925), Elem(0,5,0.000299), Elem(0,6,0.000150), Elem(0,7,0.000100), + Elem(0,8,0.000075), Elem(5,0,0.006723), Elem(5,1,0.000117), Elem(5,2,0.000100), Elem(5,3,0.000122), Elem(5,4,0.000217), Elem(5,5,0.020013), Elem(5,6,0.000211), + Elem(5,7,0.000110), Elem(5,8,0.000075), Elem(9,0,0.000033), Elem(9,1,0.000040), Elem(9,2,0.000050), Elem(9,3,0.000067), Elem(9,4,0.000100), Elem(9,5,0.000200), + Elem(9,6,0.020000), Elem(9,7,0.000200), Elem(9,8,0.000100), Elem(12,0,0.000029), Elem(12,1,0.000033), Elem(12,2,0.000040), Elem(12,3,0.000050), Elem(12,4,0.000067), + Elem(12,5,0.000100), Elem(12,6,0.000200), Elem(12,7,0.020000), Elem(12,8,0.000200), Elem(17,0,0.661686), Elem(17,1,0.006645), Elem(17,2,0.003342), Elem(17,3,0.002246), + Elem(17,4,0.001704), Elem(17,5,0.001390), Elem(17,6,0.001203), Elem(17,7,0.001145), Elem(17,8,0.020827), Elem(24,0,0.000100), Elem(24,1,0.010000), Elem(24,2,0.000100), + Elem(24,3,0.000050), Elem(24,4,0.000033), Elem(24,5,0.000025), Elem(24,6,0.000020), Elem(24,7,0.000017), Elem(29,0,0.003342), Elem(29,1,0.006667), Elem(29,2,0.661761), + Elem(29,3,0.016617), Elem(29,4,0.003408), Elem(29,5,0.002256), Elem(29,6,0.001687), Elem(29,7,0.001348), Elem(29,8,0.001123), Elem(36,0,0.009900), Elem(36,1,0.990000), + Elem(36,2,0.009900), Elem(36,3,0.004950), Elem(36,4,0.003300), Elem(36,5,0.002475), Elem(36,6,0.001980), Elem(36,7,0.001650), Elem(36,8,0.001414), Elem(41,0,0.003333), + Elem(41,1,0.005017), Elem(41,2,0.016583), Elem(41,3,0.990067), Elem(41,4,0.009933), Elem(41,5,0.004972), Elem(41,6,0.003317), Elem(41,7,0.002488), Elem(41,8,0.001991), + Elem(43,0,0.000100), Elem(43,1,0.010000), Elem(43,2,0.000100), Elem(43,3,0.000050), Elem(43,4,0.000033), Elem(43,5,0.000025), Elem(43,6,0.000020), Elem(43,7,0.000017), + Elem(45,0,0.000017), Elem(45,1,0.000020), Elem(45,2,0.000025), Elem(45,3,0.000033), Elem(45,4,0.000050), Elem(45,5,0.000100), Elem(45,6,0.010000), Elem(45,7,0.000100), + Elem(45,8,0.000050), Elem(48,0,0.003703), Elem(48,1,0.004938), Elem(48,2,0.007406), Elem(48,3,0.014813), Elem(48,4,1.481273), Elem(48,5,0.014813), Elem(48,6,0.007406), + Elem(48,7,0.004938), Elem(48,8,0.003703), Elem(53,0,0.001980), Elem(53,1,0.002475), Elem(53,2,0.003300), Elem(53,3,0.004950), Elem(53,4,0.009900), Elem(53,5,0.990000), + Elem(53,6,0.009900), Elem(53,7,0.004950), Elem(53,8,0.003300), Elem(57,0,0.001650), Elem(57,1,0.001980), Elem(57,2,0.002475), Elem(57,3,0.003300), Elem(57,4,0.004950), + Elem(57,5,0.009900), Elem(57,6,0.990000), Elem(57,7,0.009900), Elem(57,8,0.004950), Elem(60,0,0.001414), Elem(60,1,0.001650), Elem(60,2,0.001980), Elem(60,3,0.002475), + Elem(60,4,0.003300), Elem(60,5,0.004950), Elem(60,6,0.009900), Elem(60,7,0.990000), Elem(60,8,0.009900), Elem(65,0,0.014604), Elem(65,1,0.001548), Elem(65,2,0.001717), + Elem(65,3,0.002025), Elem(65,4,0.002508), Elem(65,5,0.003327), Elem(65,6,0.004972), Elem(65,7,0.009919), Elem(65,8,0.990017), Elem(72,1,0.000017), Elem(72,2,0.000020), + Elem(72,3,0.000025), Elem(72,4,0.000033), Elem(72,5,0.000050), Elem(72,6,0.000100), Elem(72,7,0.010000), Elem(72,8,0.000100), Elem(75,0,0.000046), Elem(75,1,0.000081), + Elem(75,2,0.006700), Elem(75,3,0.000087), Elem(75,4,0.000058), Elem(75,5,0.000056), Elem(75,6,0.000067), Elem(75,7,0.000113), Elem(75,8,0.010011), Elem(77,0,0.000033), + Elem(77,1,0.000067), Elem(77,2,0.006683), Elem(77,3,0.000067), Elem(77,4,0.000033), Elem(77,5,0.000022), Elem(77,6,0.000017), Elem(84,0,0.000067), Elem(84,1,0.000100), + Elem(84,2,0.000200), Elem(84,3,0.020000), Elem(84,4,0.000200), Elem(84,5,0.000100), Elem(84,6,0.000067), Elem(84,7,0.000050), Elem(84,8,0.000040), Elem(89,0,0.000020), + Elem(89,1,0.000025), Elem(89,2,0.000033), Elem(89,3,0.000050), Elem(89,4,0.000100), Elem(89,5,0.010000), Elem(89,6,0.000100), Elem(89,7,0.000050), Elem(89,8,0.000033), + }, + { Elem(1,0,0.000075), Elem(1,1,0.000100), Elem(1,2,0.000150), Elem(1,3,0.000299), Elem(1,4,0.029925), Elem(1,5,0.000299), Elem(1,6,0.000150), Elem(1,7,0.000100), + Elem(1,8,0.000075), Elem(6,0,0.006723), Elem(6,1,0.000117), Elem(6,2,0.000100), Elem(6,3,0.000122), Elem(6,4,0.000217), Elem(6,5,0.020013), Elem(6,6,0.000211), + Elem(6,7,0.000110), Elem(6,8,0.000075), Elem(10,0,0.000033), Elem(10,1,0.000040), Elem(10,2,0.000050), Elem(10,3,0.000067), Elem(10,4,0.000100), Elem(10,5,0.000200), + Elem(10,6,0.020000), Elem(10,7,0.000200), Elem(10,8,0.000100), Elem(13,0,0.000029), Elem(13,1,0.000033), Elem(13,2,0.000040), Elem(13,3,0.000050), Elem(13,4,0.000067), + Elem(13,5,0.000100), Elem(13,6,0.000200), Elem(13,7,0.020000), Elem(13,8,0.000200), Elem(18,0,0.661686), Elem(18,1,0.006645), Elem(18,2,0.003342), Elem(18,3,0.002246), + Elem(18,4,0.001704), Elem(18,5,0.001390), Elem(18,6,0.001203), Elem(18,7,0.001145), Elem(18,8,0.020827), Elem(30,0,0.003342), Elem(30,1,0.006667), Elem(30,2,0.661761), + Elem(30,3,0.016617), Elem(30,4,0.003408), Elem(30,5,0.002256), Elem(30,6,0.001687), Elem(30,7,0.001348), Elem(30,8,0.001123), Elem(37,0,0.009900), Elem(37,1,0.990000), + Elem(37,2,0.009900), Elem(37,3,0.004950), Elem(37,4,0.003300), Elem(37,5,0.002475), Elem(37,6,0.001980), Elem(37,7,0.001650), Elem(37,8,0.001414), Elem(42,0,0.003333), + Elem(42,1,0.005017), Elem(42,2,0.016583), Elem(42,3,0.990067), Elem(42,4,0.009933), Elem(42,5,0.004972), Elem(42,6,0.003317), Elem(42,7,0.002488), Elem(42,8,0.001991), + Elem(46,0,0.000017), Elem(46,1,0.000020), Elem(46,2,0.000025), Elem(46,3,0.000033), Elem(46,4,0.000050), Elem(46,5,0.000100), Elem(46,6,0.010000), Elem(46,7,0.000100), + Elem(46,8,0.000050), Elem(49,0,0.003703), Elem(49,1,0.004938), Elem(49,2,0.007406), Elem(49,3,0.014813), Elem(49,4,1.481273), Elem(49,5,0.014813), Elem(49,6,0.007406), + Elem(49,7,0.004938), Elem(49,8,0.003703), Elem(54,0,0.001980), Elem(54,1,0.002475), Elem(54,2,0.003300), Elem(54,3,0.004950), Elem(54,4,0.009900), Elem(54,5,0.990000), + Elem(54,6,0.009900), Elem(54,7,0.004950), Elem(54,8,0.003300), Elem(58,0,0.001650), Elem(58,1,0.001980), Elem(58,2,0.002475), Elem(58,3,0.003300), Elem(58,4,0.004950), + Elem(58,5,0.009900), Elem(58,6,0.990000), Elem(58,7,0.009900), Elem(58,8,0.004950), Elem(61,0,0.001414), Elem(61,1,0.001650), Elem(61,2,0.001980), Elem(61,3,0.002475), + Elem(61,4,0.003300), Elem(61,5,0.004950), Elem(61,6,0.009900), Elem(61,7,0.990000), Elem(61,8,0.009900), Elem(66,0,0.014604), Elem(66,1,0.001548), Elem(66,2,0.001717), + Elem(66,3,0.002025), Elem(66,4,0.002508), Elem(66,5,0.003327), Elem(66,6,0.004972), Elem(66,7,0.009919), Elem(66,8,0.990017), Elem(73,1,0.000017), Elem(73,2,0.000020), + Elem(73,3,0.000025), Elem(73,4,0.000033), Elem(73,5,0.000050), Elem(73,6,0.000100), Elem(73,7,0.010000), Elem(73,8,0.000100), Elem(78,0,0.000079), Elem(78,1,0.000148), + Elem(78,2,0.013384), Elem(78,3,0.000154), Elem(78,4,0.000092), Elem(78,5,0.000078), Elem(78,6,0.000083), Elem(78,7,0.000127), Elem(78,8,0.010022), Elem(85,0,0.000104), + Elem(85,1,0.000150), Elem(85,2,0.000275), Elem(85,3,0.020150), Elem(85,4,0.015162), Elem(85,5,0.000250), Elem(85,6,0.000141), Elem(85,7,0.000100), Elem(85,8,0.000077), + Elem(90,0,0.000020), Elem(90,1,0.000025), Elem(90,2,0.000033), Elem(90,3,0.000050), Elem(90,4,0.000100), Elem(90,5,0.010000), Elem(90,6,0.000100), Elem(90,7,0.000050), + Elem(90,8,0.000033), }, + { Elem(2,0,0.000075), Elem(2,1,0.000100), Elem(2,2,0.000150), Elem(2,3,0.000299), Elem(2,4,0.029925), Elem(2,5,0.000299), Elem(2,6,0.000150), Elem(2,7,0.000100), + Elem(2,8,0.000075), Elem(7,0,0.006723), Elem(7,1,0.000117), Elem(7,2,0.000100), Elem(7,3,0.000122), Elem(7,4,0.000217), Elem(7,5,0.020013), Elem(7,6,0.000211), + Elem(7,7,0.000110), Elem(7,8,0.000075), Elem(11,0,0.000033), Elem(11,1,0.000040), Elem(11,2,0.000050), Elem(11,3,0.000067), Elem(11,4,0.000100), Elem(11,5,0.000200), + Elem(11,6,0.020000), Elem(11,7,0.000200), Elem(11,8,0.000100), Elem(14,0,0.000029), Elem(14,1,0.000033), Elem(14,2,0.000040), Elem(14,3,0.000050), Elem(14,4,0.000067), + Elem(14,5,0.000100), Elem(14,6,0.000200), Elem(14,7,0.020000), Elem(14,8,0.000200), Elem(19,0,0.661686), Elem(19,1,0.006645), Elem(19,2,0.003342), Elem(19,3,0.002246), + Elem(19,4,0.001704), Elem(19,5,0.001390), Elem(19,6,0.001203), Elem(19,7,0.001145), Elem(19,8,0.020827), Elem(26,0,0.000100), Elem(26,1,0.010000), Elem(26,2,0.000100), + Elem(26,3,0.000050), Elem(26,4,0.000033), Elem(26,5,0.000025), Elem(26,6,0.000020), Elem(26,7,0.000017), Elem(31,0,0.003308), Elem(31,1,0.006617), Elem(31,2,0.661660), + Elem(31,3,0.006617), Elem(31,4,0.003308), Elem(31,5,0.002206), Elem(31,6,0.001654), Elem(31,7,0.001323), Elem(31,8,0.001103), Elem(36,0,0.000033), Elem(36,1,0.000050), + Elem(36,2,0.000100), Elem(36,3,0.010000), Elem(36,4,0.000100), Elem(36,5,0.000050), Elem(36,6,0.000033), Elem(36,7,0.000025), Elem(36,8,0.000020), Elem(38,0,0.009900), + Elem(38,1,0.990000), Elem(38,2,0.009900), Elem(38,3,0.004950), Elem(38,4,0.003300), Elem(38,5,0.002475), Elem(38,6,0.001980), Elem(38,7,0.001650), Elem(38,8,0.001414), + Elem(43,0,0.003320), Elem(43,1,0.004975), Elem(43,2,0.009933), Elem(43,3,0.990050), Elem(43,4,0.010000), Elem(43,5,0.014950), Elem(43,6,0.003400), Elem(43,7,0.002525), + Elem(43,8,0.002013), Elem(45,0,0.000100), Elem(45,1,0.010000), Elem(45,2,0.000100), Elem(45,3,0.000050), Elem(45,4,0.000033), Elem(45,5,0.000025), Elem(45,6,0.000020), + Elem(45,7,0.000017), Elem(47,0,0.000017), Elem(47,1,0.000020), Elem(47,2,0.000025), Elem(47,3,0.000033), Elem(47,4,0.000050), Elem(47,5,0.000100), Elem(47,6,0.010000), + Elem(47,7,0.000100), Elem(47,8,0.000050), Elem(50,0,0.003703), Elem(50,1,0.004938), Elem(50,2,0.007406), Elem(50,3,0.014813), Elem(50,4,1.481273), Elem(50,5,0.014813), + Elem(50,6,0.007406), Elem(50,7,0.004938), Elem(50,8,0.003703), Elem(55,0,0.002013), Elem(55,1,0.002525), Elem(55,2,0.003400), Elem(55,3,0.014950), Elem(55,4,0.010000), + Elem(55,5,0.990050), Elem(55,6,0.009933), Elem(55,7,0.004975), Elem(55,8,0.003320), Elem(59,0,0.001650), Elem(59,1,0.001980), Elem(59,2,0.002475), Elem(59,3,0.003300), + Elem(59,4,0.004950), Elem(59,5,0.009900), Elem(59,6,0.990000), Elem(59,7,0.009900), Elem(59,8,0.004950), Elem(62,0,0.001414), Elem(62,1,0.001650), Elem(62,2,0.001980), + Elem(62,3,0.002475), Elem(62,4,0.003300), Elem(62,5,0.004950), Elem(62,6,0.009900), Elem(62,7,0.990000), Elem(62,8,0.009900), Elem(67,0,0.014604), Elem(67,1,0.001548), + Elem(67,2,0.001717), Elem(67,3,0.002025), Elem(67,4,0.002508), Elem(67,5,0.003327), Elem(67,6,0.004972), Elem(67,7,0.009919), Elem(67,8,0.990017), Elem(74,1,0.000017), + Elem(74,2,0.000020), Elem(74,3,0.000025), Elem(74,4,0.000033), Elem(74,5,0.000050), Elem(74,6,0.000100), Elem(74,7,0.010000), Elem(74,8,0.000100), Elem(79,0,0.000079), + Elem(79,1,0.000148), Elem(79,2,0.013384), Elem(79,3,0.000154), Elem(79,4,0.000092), Elem(79,5,0.000078), Elem(79,6,0.000083), Elem(79,7,0.000127), Elem(79,8,0.010022), + Elem(86,0,0.000104), Elem(86,1,0.000167), Elem(86,2,0.006858), Elem(86,3,0.010216), Elem(86,4,0.015096), Elem(86,5,0.000222), Elem(86,6,0.000125), Elem(86,7,0.000088), + Elem(86,8,0.000069), }, + { Elem(3,0,0.000050), Elem(3,1,0.000067), Elem(3,2,0.000100), Elem(3,3,0.000200), Elem(3,4,0.020000), Elem(3,5,0.000200), Elem(3,6,0.000100), Elem(3,7,0.000067), + Elem(3,8,0.000050), Elem(8,0,0.006723), Elem(8,1,0.000117), Elem(8,2,0.000100), Elem(8,3,0.000122), Elem(8,4,0.000217), Elem(8,5,0.020013), Elem(8,6,0.000211), + Elem(8,7,0.000110), Elem(8,8,0.000075), Elem(12,0,0.000033), Elem(12,1,0.000040), Elem(12,2,0.000050), Elem(12,3,0.000067), Elem(12,4,0.000100), Elem(12,5,0.000200), + Elem(12,6,0.020000), Elem(12,7,0.000200), Elem(12,8,0.000100), Elem(15,0,0.000029), Elem(15,1,0.000033), Elem(15,2,0.000040), Elem(15,3,0.000050), Elem(15,4,0.000067), + Elem(15,5,0.000100), Elem(15,6,0.000200), Elem(15,7,0.020000), Elem(15,8,0.000200), Elem(20,0,0.661686), Elem(20,1,0.006645), Elem(20,2,0.003342), Elem(20,3,0.002246), + Elem(20,4,0.001704), Elem(20,5,0.001390), Elem(20,6,0.001203), Elem(20,7,0.001145), Elem(20,8,0.020827), Elem(27,0,0.000100), Elem(27,1,0.010000), Elem(27,2,0.000100), + Elem(27,3,0.000050), Elem(27,4,0.000033), Elem(27,5,0.000025), Elem(27,6,0.000020), Elem(27,7,0.000017), Elem(32,0,0.003308), Elem(32,1,0.006617), Elem(32,2,0.661660), + Elem(32,3,0.006617), Elem(32,4,0.003308), Elem(32,5,0.002206), Elem(32,6,0.001654), Elem(32,7,0.001323), Elem(32,8,0.001103), Elem(33,0,0.000033), Elem(33,1,0.000050), + Elem(33,2,0.000100), Elem(33,3,0.010000), Elem(33,4,0.000100), Elem(33,5,0.000050), Elem(33,6,0.000033), Elem(33,7,0.000025), Elem(33,8,0.000020), Elem(39,0,0.009900), + Elem(39,1,0.990000), Elem(39,2,0.009900), Elem(39,3,0.004950), Elem(39,4,0.003300), Elem(39,5,0.002475), Elem(39,6,0.001980), Elem(39,7,0.001650), Elem(39,8,0.001414), + Elem(44,0,0.003320), Elem(44,1,0.004975), Elem(44,2,0.009933), Elem(44,3,0.990050), Elem(44,4,0.010000), Elem(44,5,0.014950), Elem(44,6,0.003400), Elem(44,7,0.002525), + Elem(44,8,0.002013), Elem(46,0,0.000100), Elem(46,1,0.010000), Elem(46,2,0.000100), Elem(46,3,0.000050), Elem(46,4,0.000033), Elem(46,5,0.000025), Elem(46,6,0.000020), + Elem(46,7,0.000017), Elem(51,0,0.002475), Elem(51,1,0.003300), Elem(51,2,0.004950), Elem(51,3,0.009900), Elem(51,4,0.990000), Elem(51,5,0.009900), Elem(51,6,0.004950), + Elem(51,7,0.003300), Elem(51,8,0.002475), Elem(56,0,0.002013), Elem(56,1,0.002525), Elem(56,2,0.003400), Elem(56,3,0.014950), Elem(56,4,0.010000), Elem(56,5,0.990050), + Elem(56,6,0.009933), Elem(56,7,0.004975), Elem(56,8,0.003320), Elem(60,0,0.001650), Elem(60,1,0.001980), Elem(60,2,0.002475), Elem(60,3,0.003300), Elem(60,4,0.004950), + Elem(60,5,0.009900), Elem(60,6,0.990000), Elem(60,7,0.009900), Elem(60,8,0.004950), Elem(63,0,0.001414), Elem(63,1,0.001650), Elem(63,2,0.001980), Elem(63,3,0.002475), + Elem(63,4,0.003300), Elem(63,5,0.004950), Elem(63,6,0.009900), Elem(63,7,0.990000), Elem(63,8,0.009900), Elem(68,0,0.014604), Elem(68,1,0.001548), Elem(68,2,0.001717), + Elem(68,3,0.002025), Elem(68,4,0.002508), Elem(68,5,0.003327), Elem(68,6,0.004972), Elem(68,7,0.009919), Elem(68,8,0.990017), Elem(72,0,0.000017), Elem(72,1,0.000020), + Elem(72,2,0.000025), Elem(72,3,0.000033), Elem(72,4,0.000050), Elem(72,5,0.000100), Elem(72,6,0.010000), Elem(72,7,0.000100), Elem(72,8,0.000050), Elem(75,1,0.000017), + Elem(75,2,0.000020), Elem(75,3,0.000025), Elem(75,4,0.000033), Elem(75,5,0.000050), Elem(75,6,0.000100), Elem(75,7,0.010000), Elem(75,8,0.000100), Elem(80,0,0.000079), + Elem(80,1,0.000148), Elem(80,2,0.013384), Elem(80,3,0.000154), Elem(80,4,0.000092), Elem(80,5,0.000078), Elem(80,6,0.000083), Elem(80,7,0.000127), Elem(80,8,0.010022), + Elem(87,0,0.000092), Elem(87,1,0.000150), Elem(87,2,0.006833), Elem(87,3,0.010167), Elem(87,4,0.010133), Elem(87,5,0.000172), Elem(87,6,0.000100), Elem(87,7,0.000072), + Elem(87,8,0.000056), }, + { Elem(4,0,0.000050), Elem(4,1,0.000067), Elem(4,2,0.000100), Elem(4,3,0.000200), Elem(4,4,0.020000), Elem(4,5,0.000200), Elem(4,6,0.000100), Elem(4,7,0.000067), + Elem(4,8,0.000050), Elem(9,0,0.006723), Elem(9,1,0.000117), Elem(9,2,0.000100), Elem(9,3,0.000122), Elem(9,4,0.000217), Elem(9,5,0.020013), Elem(9,6,0.000211), + Elem(9,7,0.000110), Elem(9,8,0.000075), Elem(13,0,0.000033), Elem(13,1,0.000040), Elem(13,2,0.000050), Elem(13,3,0.000067), Elem(13,4,0.000100), Elem(13,5,0.000200), + Elem(13,6,0.020000), Elem(13,7,0.000200), Elem(13,8,0.000100), Elem(16,0,0.000029), Elem(16,1,0.000033), Elem(16,2,0.000040), Elem(16,3,0.000050), Elem(16,4,0.000067), + Elem(16,5,0.000100), Elem(16,6,0.000200), Elem(16,7,0.020000), Elem(16,8,0.000200), Elem(21,0,0.661686), Elem(21,1,0.006645), Elem(21,2,0.003342), Elem(21,3,0.002246), + Elem(21,4,0.001704), Elem(21,5,0.001390), Elem(21,6,0.001203), Elem(21,7,0.001145), Elem(21,8,0.020827), Elem(25,0,0.000033), Elem(25,1,0.000067), Elem(25,2,0.006683), + Elem(25,3,0.000067), Elem(25,4,0.000033), Elem(25,5,0.000022), Elem(25,6,0.000017), Elem(28,0,0.000100), Elem(28,1,0.010000), Elem(28,2,0.000100), Elem(28,3,0.000050), + Elem(28,4,0.000033), Elem(28,5,0.000025), Elem(28,6,0.000020), Elem(28,7,0.000017), Elem(33,0,0.003308), Elem(33,1,0.006617), Elem(33,2,0.661660), Elem(33,3,0.006617), + Elem(33,4,0.003308), Elem(33,5,0.002206), Elem(33,6,0.001654), Elem(33,7,0.001323), Elem(33,8,0.001103), Elem(38,0,0.000033), Elem(38,1,0.000050), Elem(38,2,0.000100), + Elem(38,3,0.010000), Elem(38,4,0.000100), Elem(38,5,0.000050), Elem(38,6,0.000033), Elem(38,7,0.000025), Elem(38,8,0.000020), Elem(40,0,0.009900), Elem(40,1,0.990000), + Elem(40,2,0.009900), Elem(40,3,0.004950), Elem(40,4,0.003300), Elem(40,5,0.002475), Elem(40,6,0.001980), Elem(40,7,0.001650), Elem(40,8,0.001414), Elem(44,0,0.000033), + Elem(44,1,0.000067), Elem(44,2,0.006683), Elem(44,3,0.000067), Elem(44,4,0.000033), Elem(44,5,0.000022), Elem(44,6,0.000017), Elem(45,0,0.003320), Elem(45,1,0.004975), + Elem(45,2,0.009933), Elem(45,3,0.990050), Elem(45,4,0.010000), Elem(45,5,0.014950), Elem(45,6,0.003400), Elem(45,7,0.002525), Elem(45,8,0.002013), Elem(47,0,0.000100), + Elem(47,1,0.010000), Elem(47,2,0.000100), Elem(47,3,0.000050), Elem(47,4,0.000033), Elem(47,5,0.000025), Elem(47,6,0.000020), Elem(47,7,0.000017), Elem(52,0,0.002475), + Elem(52,1,0.003300), Elem(52,2,0.004950), Elem(52,3,0.009900), Elem(52,4,0.990000), Elem(52,5,0.009900), Elem(52,6,0.004950), Elem(52,7,0.003300), Elem(52,8,0.002475), + Elem(57,0,0.002013), Elem(57,1,0.002525), Elem(57,2,0.003400), Elem(57,3,0.014950), Elem(57,4,0.010000), Elem(57,5,0.990050), Elem(57,6,0.009933), Elem(57,7,0.004975), + Elem(57,8,0.003320), Elem(61,0,0.001650), Elem(61,1,0.001980), Elem(61,2,0.002475), Elem(61,3,0.003300), Elem(61,4,0.004950), Elem(61,5,0.009900), Elem(61,6,0.990000), + Elem(61,7,0.009900), Elem(61,8,0.004950), Elem(64,0,0.001414), Elem(64,1,0.001650), Elem(64,2,0.001980), Elem(64,3,0.002475), Elem(64,4,0.003300), Elem(64,5,0.004950), + Elem(64,6,0.009900), Elem(64,7,0.990000), Elem(64,8,0.009900), Elem(69,0,0.014604), Elem(69,1,0.001548), Elem(69,2,0.001717), Elem(69,3,0.002025), Elem(69,4,0.002508), + Elem(69,5,0.003327), Elem(69,6,0.004972), Elem(69,7,0.009919), Elem(69,8,0.990017), Elem(73,0,0.000017), Elem(73,1,0.000020), Elem(73,2,0.000025), Elem(73,3,0.000033), + Elem(73,4,0.000050), Elem(73,5,0.000100), Elem(73,6,0.010000), Elem(73,7,0.000100), Elem(73,8,0.000050), Elem(76,1,0.000017), Elem(76,2,0.000020), Elem(76,3,0.000025), + Elem(76,4,0.000033), Elem(76,5,0.000050), Elem(76,6,0.000100), Elem(76,7,0.010000), Elem(76,8,0.000100), Elem(81,0,0.000046), Elem(81,1,0.000081), Elem(81,2,0.006700), + Elem(81,3,0.000087), Elem(81,4,0.000058), Elem(81,5,0.000056), Elem(81,6,0.000067), Elem(81,7,0.000113), Elem(81,8,0.010011), Elem(88,0,0.000058), Elem(88,1,0.000083), + Elem(88,2,0.000150), Elem(88,3,0.010100), Elem(88,4,0.010100), Elem(88,5,0.000150), Elem(88,6,0.000083), Elem(88,7,0.000058), Elem(88,8,0.000045), }, + { Elem(5,0,0.000050), Elem(5,1,0.000067), Elem(5,2,0.000100), Elem(5,3,0.000200), Elem(5,4,0.020000), Elem(5,5,0.000200), Elem(5,6,0.000100), Elem(5,7,0.000067), + Elem(5,8,0.000050), Elem(10,0,0.006723), Elem(10,1,0.000117), Elem(10,2,0.000100), Elem(10,3,0.000122), Elem(10,4,0.000217), Elem(10,5,0.020013), Elem(10,6,0.000211), + Elem(10,7,0.000110), Elem(10,8,0.000075), Elem(14,0,0.000033), Elem(14,1,0.000040), Elem(14,2,0.000050), Elem(14,3,0.000067), Elem(14,4,0.000100), Elem(14,5,0.000200), + Elem(14,6,0.020000), Elem(14,7,0.000200), Elem(14,8,0.000100), Elem(17,0,0.000029), Elem(17,1,0.000033), Elem(17,2,0.000040), Elem(17,3,0.000050), Elem(17,4,0.000067), + Elem(17,5,0.000100), Elem(17,6,0.000200), Elem(17,7,0.020000), Elem(17,8,0.000200), Elem(22,0,0.661686), Elem(22,1,0.006645), Elem(22,2,0.003342), Elem(22,3,0.002246), + Elem(22,4,0.001704), Elem(22,5,0.001390), Elem(22,6,0.001203), Elem(22,7,0.001145), Elem(22,8,0.020827), Elem(29,0,0.000100), Elem(29,1,0.010000), Elem(29,2,0.000100), + Elem(29,3,0.000050), Elem(29,4,0.000033), Elem(29,5,0.000025), Elem(29,6,0.000020), Elem(29,7,0.000017), Elem(34,0,0.004950), Elem(34,1,0.009900), Elem(34,2,0.990000), + Elem(34,3,0.009900), Elem(34,4,0.004950), Elem(34,5,0.003300), Elem(34,6,0.002475), Elem(34,7,0.001980), Elem(34,8,0.001650), Elem(39,0,0.000033), Elem(39,1,0.000050), + Elem(39,2,0.000100), Elem(39,3,0.010000), Elem(39,4,0.000100), Elem(39,5,0.000050), Elem(39,6,0.000033), Elem(39,7,0.000025), Elem(39,8,0.000020), Elem(41,0,0.009900), + Elem(41,1,0.990000), Elem(41,2,0.009900), Elem(41,3,0.004950), Elem(41,4,0.003300), Elem(41,5,0.002475), Elem(41,6,0.001980), Elem(41,7,0.001650), Elem(41,8,0.001414), + Elem(46,0,0.003320), Elem(46,1,0.004975), Elem(46,2,0.009933), Elem(46,3,0.990050), Elem(46,4,0.010000), Elem(46,5,0.014950), Elem(46,6,0.003400), Elem(46,7,0.002525), + Elem(46,8,0.002013), Elem(53,0,0.002475), Elem(53,1,0.003300), Elem(53,2,0.004950), Elem(53,3,0.009900), Elem(53,4,0.990000), Elem(53,5,0.009900), Elem(53,6,0.004950), + Elem(53,7,0.003300), Elem(53,8,0.002475), Elem(58,0,0.002013), Elem(58,1,0.002525), Elem(58,2,0.003400), Elem(58,3,0.014950), Elem(58,4,0.010000), Elem(58,5,0.990050), + Elem(58,6,0.009933), Elem(58,7,0.004975), Elem(58,8,0.003320), Elem(62,0,0.001650), Elem(62,1,0.001980), Elem(62,2,0.002475), Elem(62,3,0.003300), Elem(62,4,0.004950), + Elem(62,5,0.009900), Elem(62,6,0.990000), Elem(62,7,0.009900), Elem(62,8,0.004950), Elem(65,0,0.001414), Elem(65,1,0.001650), Elem(65,2,0.001980), Elem(65,3,0.002475), + Elem(65,4,0.003300), Elem(65,5,0.004950), Elem(65,6,0.009900), Elem(65,7,0.990000), Elem(65,8,0.009900), Elem(70,0,0.014604), Elem(70,1,0.001548), Elem(70,2,0.001717), + Elem(70,3,0.002025), Elem(70,4,0.002508), Elem(70,5,0.003327), Elem(70,6,0.004972), Elem(70,7,0.009919), Elem(70,8,0.990017), Elem(74,0,0.000017), Elem(74,1,0.000020), + Elem(74,2,0.000025), Elem(74,3,0.000033), Elem(74,4,0.000050), Elem(74,5,0.000100), Elem(74,6,0.010000), Elem(74,7,0.000100), Elem(74,8,0.000050), Elem(75,1,0.000017), + Elem(75,2,0.000020), Elem(75,3,0.000025), Elem(75,4,0.000033), Elem(75,5,0.000050), Elem(75,6,0.000100), Elem(75,7,0.010000), Elem(75,8,0.000100), Elem(82,0,0.000112), + Elem(82,1,0.000214), Elem(82,2,0.020017), Elem(82,3,0.000220), Elem(82,4,0.000125), Elem(82,5,0.000100), Elem(82,6,0.000100), Elem(82,7,0.000140), Elem(82,8,0.010033), + Elem(84,0,0.000200), Elem(84,1,0.020000), Elem(84,2,0.000200), Elem(84,3,0.000100), Elem(84,4,0.000067), Elem(84,5,0.000050), Elem(84,6,0.000040), Elem(84,7,0.000033), + Elem(84,8,0.000029), Elem(89,0,0.000108), Elem(89,1,0.000183), Elem(89,2,0.010150), Elem(89,3,0.010200), Elem(89,4,0.010150), Elem(89,5,0.000183), Elem(89,6,0.000108), + Elem(89,7,0.000078), Elem(89,8,0.000062), }, + { Elem(6,0,0.000050), Elem(6,1,0.000067), Elem(6,2,0.000100), Elem(6,3,0.000200), Elem(6,4,0.020000), Elem(6,5,0.000200), Elem(6,6,0.000100), Elem(6,7,0.000067), + Elem(6,8,0.000050), Elem(11,0,0.006723), Elem(11,1,0.000117), Elem(11,2,0.000100), Elem(11,3,0.000122), Elem(11,4,0.000217), Elem(11,5,0.020013), Elem(11,6,0.000211), + Elem(11,7,0.000110), Elem(11,8,0.000075), Elem(15,0,0.000033), Elem(15,1,0.000040), Elem(15,2,0.000050), Elem(15,3,0.000067), Elem(15,4,0.000100), Elem(15,5,0.000200), + Elem(15,6,0.020000), Elem(15,7,0.000200), Elem(15,8,0.000100), Elem(18,0,0.000029), Elem(18,1,0.000033), Elem(18,2,0.000040), Elem(18,3,0.000050), Elem(18,4,0.000067), + Elem(18,5,0.000100), Elem(18,6,0.000200), Elem(18,7,0.020000), Elem(18,8,0.000200), Elem(23,0,0.661686), Elem(23,1,0.006645), Elem(23,2,0.003342), Elem(23,3,0.002246), + Elem(23,4,0.001704), Elem(23,5,0.001390), Elem(23,6,0.001203), Elem(23,7,0.001145), Elem(23,8,0.020827), Elem(30,0,0.000100), Elem(30,1,0.010000), Elem(30,2,0.000100), + Elem(30,3,0.000050), Elem(30,4,0.000033), Elem(30,5,0.000025), Elem(30,6,0.000020), Elem(30,7,0.000017), Elem(35,0,0.004950), Elem(35,1,0.009900), Elem(35,2,0.990000), + Elem(35,3,0.009900), Elem(35,4,0.004950), Elem(35,5,0.003300), Elem(35,6,0.002475), Elem(35,7,0.001980), Elem(35,8,0.001650), Elem(40,0,0.000033), Elem(40,1,0.000050), + Elem(40,2,0.000100), Elem(40,3,0.010000), Elem(40,4,0.000100), Elem(40,5,0.000050), Elem(40,6,0.000033), Elem(40,7,0.000025), Elem(40,8,0.000020), Elem(42,0,0.009900), + Elem(42,1,0.990000), Elem(42,2,0.009900), Elem(42,3,0.004950), Elem(42,4,0.003300), Elem(42,5,0.002475), Elem(42,6,0.001980), Elem(42,7,0.001650), Elem(42,8,0.001414), + Elem(47,0,0.003320), Elem(47,1,0.004975), Elem(47,2,0.009933), Elem(47,3,0.990050), Elem(47,4,0.010000), Elem(47,5,0.014950), Elem(47,6,0.003400), Elem(47,7,0.002525), + Elem(47,8,0.002013), Elem(54,0,0.002475), Elem(54,1,0.003300), Elem(54,2,0.004950), Elem(54,3,0.009900), Elem(54,4,0.990000), Elem(54,5,0.009900), Elem(54,6,0.004950), + Elem(54,7,0.003300), Elem(54,8,0.002475), Elem(59,0,0.002013), Elem(59,1,0.002525), Elem(59,2,0.003400), Elem(59,3,0.014950), Elem(59,4,0.010000), Elem(59,5,0.990050), + Elem(59,6,0.009933), Elem(59,7,0.004975), Elem(59,8,0.003320), Elem(63,0,0.001650), Elem(63,1,0.001980), Elem(63,2,0.002475), Elem(63,3,0.003300), Elem(63,4,0.004950), + Elem(63,5,0.009900), Elem(63,6,0.990000), Elem(63,7,0.009900), Elem(63,8,0.004950), Elem(66,0,0.001414), Elem(66,1,0.001650), Elem(66,2,0.001980), Elem(66,3,0.002475), + Elem(66,4,0.003300), Elem(66,5,0.004950), Elem(66,6,0.009900), Elem(66,7,0.990000), Elem(66,8,0.009900), Elem(71,0,0.014604), Elem(71,1,0.001548), Elem(71,2,0.001717), + Elem(71,3,0.002025), Elem(71,4,0.002508), Elem(71,5,0.003327), Elem(71,6,0.004972), Elem(71,7,0.009919), Elem(71,8,0.990017), Elem(75,0,0.000017), Elem(75,1,0.000020), + Elem(75,2,0.000025), Elem(75,3,0.000033), Elem(75,4,0.000050), Elem(75,5,0.000100), Elem(75,6,0.010000), Elem(75,7,0.000100), Elem(75,8,0.000050), Elem(78,1,0.000017), + Elem(78,2,0.000020), Elem(78,3,0.000025), Elem(78,4,0.000033), Elem(78,5,0.000050), Elem(78,6,0.000100), Elem(78,7,0.010000), Elem(78,8,0.000100), Elem(83,0,0.000112), + Elem(83,1,0.000214), Elem(83,2,0.020017), Elem(83,3,0.000220), Elem(83,4,0.000125), Elem(83,5,0.000100), Elem(83,6,0.000100), Elem(83,7,0.000140), Elem(83,8,0.010033), + Elem(85,0,0.000200), Elem(85,1,0.020000), Elem(85,2,0.000200), Elem(85,3,0.000100), Elem(85,4,0.000067), Elem(85,5,0.000050), Elem(85,6,0.000040), Elem(85,7,0.000033), + Elem(85,8,0.000029), Elem(90,0,0.000108), Elem(90,1,0.000183), Elem(90,2,0.010150), Elem(90,3,0.010200), Elem(90,4,0.010150), Elem(90,5,0.000183), Elem(90,6,0.000108), + Elem(90,7,0.000078), Elem(90,8,0.000062), }, + { Elem(0,0,0.000067), Elem(0,1,0.000100), Elem(0,2,0.000200), Elem(0,3,0.020000), Elem(0,4,0.000200), Elem(0,5,0.000100), Elem(0,6,0.000067), Elem(0,7,0.000050), + Elem(0,8,0.000040), Elem(7,0,0.000050), Elem(7,1,0.000067), Elem(7,2,0.000100), Elem(7,3,0.000200), Elem(7,4,0.020000), Elem(7,5,0.000200), Elem(7,6,0.000100), + Elem(7,7,0.000067), Elem(7,8,0.000050), Elem(12,0,0.000040), Elem(12,1,0.000050), Elem(12,2,0.000067), Elem(12,3,0.000100), Elem(12,4,0.000200), Elem(12,5,0.020000), + Elem(12,6,0.000200), Elem(12,7,0.000100), Elem(12,8,0.000067), Elem(16,0,0.000033), Elem(16,1,0.000040), Elem(16,2,0.000050), Elem(16,3,0.000067), Elem(16,4,0.000100), + Elem(16,5,0.000200), Elem(16,6,0.020000), Elem(16,7,0.000200), Elem(16,8,0.000100), Elem(19,0,0.000029), Elem(19,1,0.000033), Elem(19,2,0.000040), Elem(19,3,0.000050), + Elem(19,4,0.000067), Elem(19,5,0.000100), Elem(19,6,0.000200), Elem(19,7,0.020000), Elem(19,8,0.000200), Elem(24,0,0.990075), Elem(24,1,0.010029), Elem(24,2,0.014983), + Elem(24,3,0.003440), Elem(24,4,0.002575), Elem(24,5,0.002080), Elem(24,6,0.001775), Elem(24,7,0.001634), Elem(24,8,0.021254), Elem(36,0,0.015050), Elem(36,1,0.020000), + Elem(36,2,0.990150), Elem(36,3,0.009983), Elem(36,4,0.005008), Elem(36,5,0.003345), Elem(36,6,0.002512), Elem(36,7,0.002011), Elem(36,8,0.001677), Elem(43,0,0.009975), + Elem(43,1,0.990133), Elem(43,2,0.019950), Elem(43,3,0.005150), Elem(43,4,0.013350), Elem(43,5,0.002608), Elem(43,6,0.002055), Elem(43,7,0.001703), Elem(43,8,0.001456), + Elem(48,0,0.003300), Elem(48,1,0.004950), Elem(48,2,0.009900), Elem(48,3,0.990000), Elem(48,4,0.009900), Elem(48,5,0.004950), Elem(48,6,0.003300), Elem(48,7,0.002475), + Elem(48,8,0.001980), Elem(55,0,0.002575), Elem(55,1,0.013300), Elem(55,2,0.005050), Elem(55,3,0.009950), Elem(55,4,0.990033), Elem(55,5,0.009925), Elem(55,6,0.004970), + Elem(55,7,0.003317), Elem(55,8,0.002489), Elem(60,0,0.001993), Elem(60,1,0.002489), Elem(60,2,0.003317), Elem(60,3,0.004970), Elem(60,4,0.009925), Elem(60,5,0.990033), + Elem(60,6,0.009950), Elem(60,7,0.005050), Elem(60,8,0.013300), Elem(64,0,0.001650), Elem(64,1,0.001980), Elem(64,2,0.002475), Elem(64,3,0.003300), Elem(64,4,0.004950), + Elem(64,5,0.009900), Elem(64,6,0.990000), Elem(64,7,0.009900), Elem(64,8,0.004950), Elem(67,0,0.001414), Elem(67,1,0.001650), Elem(67,2,0.001980), Elem(67,3,0.002475), + Elem(67,4,0.003300), Elem(67,5,0.004950), Elem(67,6,0.009900), Elem(67,7,0.990000), Elem(67,8,0.009900), Elem(72,0,0.021257), Elem(72,1,0.001639), Elem(72,2,0.001783), + Elem(72,3,0.002097), Elem(72,4,0.002625), Elem(72,5,0.013340), Elem(72,6,0.005083), Elem(72,7,0.009979), Elem(72,8,0.990058), Elem(76,0,0.000017), Elem(76,1,0.000020), + Elem(76,2,0.000025), Elem(76,3,0.000033), Elem(76,4,0.000050), Elem(76,5,0.000100), Elem(76,6,0.010000), Elem(76,7,0.000100), Elem(76,8,0.000050), Elem(79,1,0.000017), + Elem(79,2,0.000020), Elem(79,3,0.000025), Elem(79,4,0.000033), Elem(79,5,0.000050), Elem(79,6,0.000100), Elem(79,7,0.010000), Elem(79,8,0.000100), Elem(86,0,0.000100), + Elem(86,1,0.010000), Elem(86,2,0.000100), Elem(86,3,0.000050), Elem(86,4,0.000033), Elem(86,5,0.000025), Elem(86,6,0.000020), Elem(86,7,0.000017), }, + { Elem(1,0,0.000067), Elem(1,1,0.000100), Elem(1,2,0.000200), Elem(1,3,0.020000), Elem(1,4,0.000200), Elem(1,5,0.000100), Elem(1,6,0.000067), Elem(1,7,0.000050), + Elem(1,8,0.000040), Elem(8,0,0.000050), Elem(8,1,0.000067), Elem(8,2,0.000100), Elem(8,3,0.000200), Elem(8,4,0.020000), Elem(8,5,0.000200), Elem(8,6,0.000100), + Elem(8,7,0.000067), Elem(8,8,0.000050), Elem(13,0,0.000040), Elem(13,1,0.000050), Elem(13,2,0.000067), Elem(13,3,0.000100), Elem(13,4,0.000200), Elem(13,5,0.020000), + Elem(13,6,0.000200), Elem(13,7,0.000100), Elem(13,8,0.000067), Elem(17,0,0.000033), Elem(17,1,0.000040), Elem(17,2,0.000050), Elem(17,3,0.000067), Elem(17,4,0.000100), + Elem(17,5,0.000200), Elem(17,6,0.020000), Elem(17,7,0.000200), Elem(17,8,0.000100), Elem(20,0,0.000029), Elem(20,1,0.000033), Elem(20,2,0.000040), Elem(20,3,0.000050), + Elem(20,4,0.000067), Elem(20,5,0.000100), Elem(20,6,0.000200), Elem(20,7,0.020000), Elem(20,8,0.000200), Elem(25,0,0.990025), Elem(25,1,0.009929), Elem(25,2,0.004983), + Elem(25,3,0.003340), Elem(25,4,0.002525), Elem(25,5,0.002047), Elem(25,6,0.001750), Elem(25,7,0.001614), Elem(25,8,0.021238), Elem(33,0,0.010100), Elem(33,1,0.010100), + Elem(33,2,0.000150), Elem(33,3,0.000083), Elem(33,4,0.000058), Elem(33,5,0.000045), Elem(33,6,0.000037), Elem(33,7,0.000031), Elem(33,8,0.000027), Elem(37,0,0.004950), + Elem(37,1,0.009900), Elem(37,2,0.990000), Elem(37,3,0.009900), Elem(37,4,0.004950), Elem(37,5,0.003300), Elem(37,6,0.002475), Elem(37,7,0.001980), Elem(37,8,0.001650), + Elem(44,0,0.009925), Elem(44,1,0.990033), Elem(44,2,0.009950), Elem(44,3,0.005050), Elem(44,4,0.013300), Elem(44,5,0.002575), Elem(44,6,0.002030), Elem(44,7,0.001683), + Elem(44,8,0.001439), Elem(49,0,0.003300), Elem(49,1,0.004950), Elem(49,2,0.009900), Elem(49,3,0.990000), Elem(49,4,0.009900), Elem(49,5,0.004950), Elem(49,6,0.003300), + Elem(49,7,0.002475), Elem(49,8,0.001980), Elem(56,0,0.002575), Elem(56,1,0.013300), Elem(56,2,0.005050), Elem(56,3,0.009950), Elem(56,4,0.990033), Elem(56,5,0.009925), + Elem(56,6,0.004970), Elem(56,7,0.003317), Elem(56,8,0.002489), Elem(61,0,0.001993), Elem(61,1,0.002489), Elem(61,2,0.003317), Elem(61,3,0.004970), Elem(61,4,0.009925), + Elem(61,5,0.990033), Elem(61,6,0.009950), Elem(61,7,0.005050), Elem(61,8,0.013300), Elem(65,0,0.001650), Elem(65,1,0.001980), Elem(65,2,0.002475), Elem(65,3,0.003300), + Elem(65,4,0.004950), Elem(65,5,0.009900), Elem(65,6,0.990000), Elem(65,7,0.009900), Elem(65,8,0.004950), Elem(68,0,0.001414), Elem(68,1,0.001650), Elem(68,2,0.001980), + Elem(68,3,0.002475), Elem(68,4,0.003300), Elem(68,5,0.004950), Elem(68,6,0.009900), Elem(68,7,0.990000), Elem(68,8,0.009900), Elem(73,0,0.021257), Elem(73,1,0.001639), + Elem(73,2,0.001783), Elem(73,3,0.002097), Elem(73,4,0.002625), Elem(73,5,0.013340), Elem(73,6,0.005083), Elem(73,7,0.009979), Elem(73,8,0.990058), Elem(75,0,0.000017), + Elem(75,1,0.000020), Elem(75,2,0.000025), Elem(75,3,0.000033), Elem(75,4,0.000050), Elem(75,5,0.000100), Elem(75,6,0.010000), Elem(75,7,0.000100), Elem(75,8,0.000050), + Elem(80,1,0.000017), Elem(80,2,0.000020), Elem(80,3,0.000025), Elem(80,4,0.000033), Elem(80,5,0.000050), Elem(80,6,0.000100), Elem(80,7,0.010000), Elem(80,8,0.000100), + Elem(85,0,0.000033), Elem(85,1,0.000050), Elem(85,2,0.000100), Elem(85,3,0.010000), Elem(85,4,0.000100), Elem(85,5,0.000050), Elem(85,6,0.000033), Elem(85,7,0.000025), + Elem(85,8,0.000020), Elem(87,0,0.000100), Elem(87,1,0.010000), Elem(87,2,0.000100), Elem(87,3,0.000050), Elem(87,4,0.000033), Elem(87,5,0.000025), Elem(87,6,0.000020), + Elem(87,7,0.000017), }, + { Elem(2,0,0.000067), Elem(2,1,0.000100), Elem(2,2,0.000200), Elem(2,3,0.020000), Elem(2,4,0.000200), Elem(2,5,0.000100), Elem(2,6,0.000067), Elem(2,7,0.000050), + Elem(2,8,0.000040), Elem(9,0,0.000050), Elem(9,1,0.000067), Elem(9,2,0.000100), Elem(9,3,0.000200), Elem(9,4,0.020000), Elem(9,5,0.000200), Elem(9,6,0.000100), + Elem(9,7,0.000067), Elem(9,8,0.000050), Elem(14,0,0.000040), Elem(14,1,0.000050), Elem(14,2,0.000067), Elem(14,3,0.000100), Elem(14,4,0.000200), Elem(14,5,0.020000), + Elem(14,6,0.000200), Elem(14,7,0.000100), Elem(14,8,0.000067), Elem(18,0,0.000033), Elem(18,1,0.000040), Elem(18,2,0.000050), Elem(18,3,0.000067), Elem(18,4,0.000100), + Elem(18,5,0.000200), Elem(18,6,0.020000), Elem(18,7,0.000200), Elem(18,8,0.000100), Elem(21,0,0.000029), Elem(21,1,0.000033), Elem(21,2,0.000040), Elem(21,3,0.000050), + Elem(21,4,0.000067), Elem(21,5,0.000100), Elem(21,6,0.000200), Elem(21,7,0.020000), Elem(21,8,0.000200), Elem(26,0,0.990075), Elem(26,1,0.010029), Elem(26,2,0.014983), + Elem(26,3,0.003440), Elem(26,4,0.002575), Elem(26,5,0.002080), Elem(26,6,0.001775), Elem(26,7,0.001634), Elem(26,8,0.021254), Elem(38,0,0.015050), Elem(38,1,0.020000), + Elem(38,2,0.990150), Elem(38,3,0.009983), Elem(38,4,0.005008), Elem(38,5,0.003345), Elem(38,6,0.002512), Elem(38,7,0.002011), Elem(38,8,0.001677), Elem(45,0,0.009975), + Elem(45,1,0.990133), Elem(45,2,0.019950), Elem(45,3,0.005150), Elem(45,4,0.013350), Elem(45,5,0.002608), Elem(45,6,0.002055), Elem(45,7,0.001703), Elem(45,8,0.001456), + Elem(50,0,0.003300), Elem(50,1,0.004950), Elem(50,2,0.009900), Elem(50,3,0.990000), Elem(50,4,0.009900), Elem(50,5,0.004950), Elem(50,6,0.003300), Elem(50,7,0.002475), + Elem(50,8,0.001980), Elem(57,0,0.002575), Elem(57,1,0.013300), Elem(57,2,0.005050), Elem(57,3,0.009950), Elem(57,4,0.990033), Elem(57,5,0.009925), Elem(57,6,0.004970), + Elem(57,7,0.003317), Elem(57,8,0.002489), Elem(62,0,0.001993), Elem(62,1,0.002489), Elem(62,2,0.003317), Elem(62,3,0.004970), Elem(62,4,0.009925), Elem(62,5,0.990033), + Elem(62,6,0.009950), Elem(62,7,0.005050), Elem(62,8,0.013300), Elem(66,0,0.001650), Elem(66,1,0.001980), Elem(66,2,0.002475), Elem(66,3,0.003300), Elem(66,4,0.004950), + Elem(66,5,0.009900), Elem(66,6,0.990000), Elem(66,7,0.009900), Elem(66,8,0.004950), Elem(69,0,0.001414), Elem(69,1,0.001650), Elem(69,2,0.001980), Elem(69,3,0.002475), + Elem(69,4,0.003300), Elem(69,5,0.004950), Elem(69,6,0.009900), Elem(69,7,0.990000), Elem(69,8,0.009900), Elem(74,0,0.021257), Elem(74,1,0.001639), Elem(74,2,0.001783), + Elem(74,3,0.002097), Elem(74,4,0.002625), Elem(74,5,0.013340), Elem(74,6,0.005083), Elem(74,7,0.009979), Elem(74,8,0.990058), Elem(78,0,0.000017), Elem(78,1,0.000020), + Elem(78,2,0.000025), Elem(78,3,0.000033), Elem(78,4,0.000050), Elem(78,5,0.000100), Elem(78,6,0.010000), Elem(78,7,0.000100), Elem(78,8,0.000050), Elem(81,1,0.000017), + Elem(81,2,0.000020), Elem(81,3,0.000025), Elem(81,4,0.000033), Elem(81,5,0.000050), Elem(81,6,0.000100), Elem(81,7,0.010000), Elem(81,8,0.000100), Elem(86,0,0.000033), + Elem(86,1,0.000050), Elem(86,2,0.000100), Elem(86,3,0.010000), Elem(86,4,0.000100), Elem(86,5,0.000050), Elem(86,6,0.000033), Elem(86,7,0.000025), Elem(86,8,0.000020), + Elem(88,0,0.000100), Elem(88,1,0.010000), Elem(88,2,0.000100), Elem(88,3,0.000050), Elem(88,4,0.000033), Elem(88,5,0.000025), Elem(88,6,0.000020), Elem(88,7,0.000017), + }, + { Elem(3,0,0.000067), Elem(3,1,0.000100), Elem(3,2,0.000200), Elem(3,3,0.020000), Elem(3,4,0.000200), Elem(3,5,0.000100), Elem(3,6,0.000067), Elem(3,7,0.000050), + Elem(3,8,0.000040), Elem(10,0,0.000050), Elem(10,1,0.000067), Elem(10,2,0.000100), Elem(10,3,0.000200), Elem(10,4,0.020000), Elem(10,5,0.000200), Elem(10,6,0.000100), + Elem(10,7,0.000067), Elem(10,8,0.000050), Elem(15,0,0.000040), Elem(15,1,0.000050), Elem(15,2,0.000067), Elem(15,3,0.000100), Elem(15,4,0.000200), Elem(15,5,0.020000), + Elem(15,6,0.000200), Elem(15,7,0.000100), Elem(15,8,0.000067), Elem(19,0,0.000033), Elem(19,1,0.000040), Elem(19,2,0.000050), Elem(19,3,0.000067), Elem(19,4,0.000100), + Elem(19,5,0.000200), Elem(19,6,0.020000), Elem(19,7,0.000200), Elem(19,8,0.000100), Elem(22,0,0.000029), Elem(22,1,0.000033), Elem(22,2,0.000040), Elem(22,3,0.000050), + Elem(22,4,0.000067), Elem(22,5,0.000100), Elem(22,6,0.000200), Elem(22,7,0.020000), Elem(22,8,0.000200), Elem(27,0,0.990063), Elem(27,1,0.010014), Elem(27,2,0.014967), + Elem(27,3,0.003420), Elem(27,4,0.002550), Elem(27,5,0.002047), Elem(27,6,0.001725), Elem(27,7,0.001534), Elem(27,8,0.011254), Elem(29,2,0.000017), Elem(29,3,0.000020), + Elem(29,4,0.000025), Elem(29,5,0.000033), Elem(29,6,0.000050), Elem(29,7,0.000100), Elem(29,8,0.010000), Elem(39,0,0.015050), Elem(39,1,0.020000), Elem(39,2,0.990150), + Elem(39,3,0.009983), Elem(39,4,0.005008), Elem(39,5,0.003345), Elem(39,6,0.002512), Elem(39,7,0.002011), Elem(39,8,0.001677), Elem(46,0,0.009975), Elem(46,1,0.990133), + Elem(46,2,0.019950), Elem(46,3,0.005150), Elem(46,4,0.013350), Elem(46,5,0.002608), Elem(46,6,0.002055), Elem(46,7,0.001703), Elem(46,8,0.001456), Elem(51,0,0.003300), + Elem(51,1,0.004950), Elem(51,2,0.009900), Elem(51,3,0.990000), Elem(51,4,0.009900), Elem(51,5,0.004950), Elem(51,6,0.003300), Elem(51,7,0.002475), Elem(51,8,0.001980), + Elem(58,0,0.002575), Elem(58,1,0.013300), Elem(58,2,0.005050), Elem(58,3,0.009950), Elem(58,4,0.990033), Elem(58,5,0.009925), Elem(58,6,0.004970), Elem(58,7,0.003317), + Elem(58,8,0.002489), Elem(63,0,0.001980), Elem(63,1,0.002475), Elem(63,2,0.003300), Elem(63,3,0.004950), Elem(63,4,0.009900), Elem(63,5,0.990000), Elem(63,6,0.009900), + Elem(63,7,0.004950), Elem(63,8,0.003300), Elem(65,2,0.000017), Elem(65,3,0.000020), Elem(65,4,0.000025), Elem(65,5,0.000033), Elem(65,6,0.000050), Elem(65,7,0.000100), + Elem(65,8,0.010000), Elem(67,0,0.001650), Elem(67,1,0.001980), Elem(67,2,0.002475), Elem(67,3,0.003300), Elem(67,4,0.004950), Elem(67,5,0.009900), Elem(67,6,0.990000), + Elem(67,7,0.009900), Elem(67,8,0.004950), Elem(70,0,0.001414), Elem(70,1,0.001650), Elem(70,2,0.001980), Elem(70,3,0.002475), Elem(70,4,0.003300), Elem(70,5,0.004950), + Elem(70,6,0.009900), Elem(70,7,0.990000), Elem(70,8,0.009900), Elem(75,0,0.021257), Elem(75,1,0.001639), Elem(75,2,0.001783), Elem(75,3,0.002097), Elem(75,4,0.002625), + Elem(75,5,0.013340), Elem(75,6,0.005083), Elem(75,7,0.009979), Elem(75,8,0.990058), Elem(79,0,0.000017), Elem(79,1,0.000020), Elem(79,2,0.000025), Elem(79,3,0.000033), + Elem(79,4,0.000050), Elem(79,5,0.000100), Elem(79,6,0.010000), Elem(79,7,0.000100), Elem(79,8,0.000050), Elem(82,1,0.000017), Elem(82,2,0.000020), Elem(82,3,0.000025), + Elem(82,4,0.000033), Elem(82,5,0.000050), Elem(82,6,0.000100), Elem(82,7,0.010000), Elem(82,8,0.000100), Elem(87,0,0.000033), Elem(87,1,0.000050), Elem(87,2,0.000100), + Elem(87,3,0.010000), Elem(87,4,0.000100), Elem(87,5,0.000050), Elem(87,6,0.000033), Elem(87,7,0.000025), Elem(87,8,0.000020), Elem(89,0,0.000100), Elem(89,1,0.010000), + Elem(89,2,0.000100), Elem(89,3,0.000050), Elem(89,4,0.000033), Elem(89,5,0.000025), Elem(89,6,0.000020), Elem(89,7,0.000017), }, + { Elem(4,0,0.000067), Elem(4,1,0.000100), Elem(4,2,0.000200), Elem(4,3,0.020000), Elem(4,4,0.000200), Elem(4,5,0.000100), Elem(4,6,0.000067), Elem(4,7,0.000050), + Elem(4,8,0.000040), Elem(11,0,0.000050), Elem(11,1,0.000067), Elem(11,2,0.000100), Elem(11,3,0.000200), Elem(11,4,0.020000), Elem(11,5,0.000200), Elem(11,6,0.000100), + Elem(11,7,0.000067), Elem(11,8,0.000050), Elem(16,0,0.000040), Elem(16,1,0.000050), Elem(16,2,0.000067), Elem(16,3,0.000100), Elem(16,4,0.000200), Elem(16,5,0.020000), + Elem(16,6,0.000200), Elem(16,7,0.000100), Elem(16,8,0.000067), Elem(20,0,0.000033), Elem(20,1,0.000040), Elem(20,2,0.000050), Elem(20,3,0.000067), Elem(20,4,0.000100), + Elem(20,5,0.000200), Elem(20,6,0.020000), Elem(20,7,0.000200), Elem(20,8,0.000100), Elem(23,0,0.000029), Elem(23,1,0.000033), Elem(23,2,0.000040), Elem(23,3,0.000050), + Elem(23,4,0.000067), Elem(23,5,0.000100), Elem(23,6,0.000200), Elem(23,7,0.020000), Elem(23,8,0.000200), Elem(28,0,0.990075), Elem(28,1,0.010029), Elem(28,2,0.014983), + Elem(28,3,0.003440), Elem(28,4,0.002575), Elem(28,5,0.002080), Elem(28,6,0.001775), Elem(28,7,0.001634), Elem(28,8,0.021254), Elem(40,0,0.015050), Elem(40,1,0.020000), + Elem(40,2,0.990150), Elem(40,3,0.009983), Elem(40,4,0.005008), Elem(40,5,0.003345), Elem(40,6,0.002512), Elem(40,7,0.002011), Elem(40,8,0.001677), Elem(47,0,0.009975), + Elem(47,1,0.990133), Elem(47,2,0.019950), Elem(47,3,0.005150), Elem(47,4,0.013350), Elem(47,5,0.002608), Elem(47,6,0.002055), Elem(47,7,0.001703), Elem(47,8,0.001456), + Elem(52,0,0.003300), Elem(52,1,0.004950), Elem(52,2,0.009900), Elem(52,3,0.990000), Elem(52,4,0.009900), Elem(52,5,0.004950), Elem(52,6,0.003300), Elem(52,7,0.002475), + Elem(52,8,0.001980), Elem(59,0,0.002575), Elem(59,1,0.013300), Elem(59,2,0.005050), Elem(59,3,0.009950), Elem(59,4,0.990033), Elem(59,5,0.009925), Elem(59,6,0.004970), + Elem(59,7,0.003317), Elem(59,8,0.002489), Elem(64,0,0.001993), Elem(64,1,0.002489), Elem(64,2,0.003317), Elem(64,3,0.004970), Elem(64,4,0.009925), Elem(64,5,0.990033), + Elem(64,6,0.009950), Elem(64,7,0.005050), Elem(64,8,0.013300), Elem(68,0,0.001650), Elem(68,1,0.001980), Elem(68,2,0.002475), Elem(68,3,0.003300), Elem(68,4,0.004950), + Elem(68,5,0.009900), Elem(68,6,0.990000), Elem(68,7,0.009900), Elem(68,8,0.004950), Elem(71,0,0.001414), Elem(71,1,0.001650), Elem(71,2,0.001980), Elem(71,3,0.002475), + Elem(71,4,0.003300), Elem(71,5,0.004950), Elem(71,6,0.009900), Elem(71,7,0.990000), Elem(71,8,0.009900), Elem(76,0,0.021257), Elem(76,1,0.001639), Elem(76,2,0.001783), + Elem(76,3,0.002097), Elem(76,4,0.002625), Elem(76,5,0.013340), Elem(76,6,0.005083), Elem(76,7,0.009979), Elem(76,8,0.990058), Elem(80,0,0.000017), Elem(80,1,0.000020), + Elem(80,2,0.000025), Elem(80,3,0.000033), Elem(80,4,0.000050), Elem(80,5,0.000100), Elem(80,6,0.010000), Elem(80,7,0.000100), Elem(80,8,0.000050), Elem(83,1,0.000017), + Elem(83,2,0.000020), Elem(83,3,0.000025), Elem(83,4,0.000033), Elem(83,5,0.000050), Elem(83,6,0.000100), Elem(83,7,0.010000), Elem(83,8,0.000100), Elem(88,0,0.000033), + Elem(88,1,0.000050), Elem(88,2,0.000100), Elem(88,3,0.010000), Elem(88,4,0.000100), Elem(88,5,0.000050), Elem(88,6,0.000033), Elem(88,7,0.000025), Elem(88,8,0.000020), + Elem(90,0,0.000100), Elem(90,1,0.010000), Elem(90,2,0.000100), Elem(90,3,0.000050), Elem(90,4,0.000033), Elem(90,5,0.000025), Elem(90,6,0.000020), Elem(90,7,0.000017), + }, + { Elem(0,0,0.000200), Elem(0,1,0.020000), Elem(0,2,0.000200), Elem(0,3,0.000100), Elem(0,4,0.000067), Elem(0,5,0.000050), Elem(0,6,0.000040), Elem(0,7,0.000033), + Elem(0,8,0.000029), Elem(5,0,0.000067), Elem(5,1,0.000100), Elem(5,2,0.000200), Elem(5,3,0.020000), Elem(5,4,0.000200), Elem(5,5,0.000100), Elem(5,6,0.000067), + Elem(5,7,0.000050), Elem(5,8,0.000040), Elem(12,0,0.000050), Elem(12,1,0.000067), Elem(12,2,0.000100), Elem(12,3,0.000200), Elem(12,4,0.020000), Elem(12,5,0.000200), + Elem(12,6,0.000100), Elem(12,7,0.000067), Elem(12,8,0.000050), Elem(17,0,0.000040), Elem(17,1,0.000050), Elem(17,2,0.000067), Elem(17,3,0.000100), Elem(17,4,0.000200), + Elem(17,5,0.020000), Elem(17,6,0.000200), Elem(17,7,0.000100), Elem(17,8,0.000067), Elem(21,0,0.000033), Elem(21,1,0.000040), Elem(21,2,0.000050), Elem(21,3,0.000067), + Elem(21,4,0.000100), Elem(21,5,0.000200), Elem(21,6,0.020000), Elem(21,7,0.000200), Elem(21,8,0.000100), Elem(24,0,0.000029), Elem(24,1,0.000033), Elem(24,2,0.000040), + Elem(24,3,0.000050), Elem(24,4,0.000067), Elem(24,5,0.000100), Elem(24,6,0.000200), Elem(24,7,0.020000), Elem(24,8,0.000200), Elem(29,0,0.990063), Elem(29,1,0.010014), + Elem(29,2,0.014967), Elem(29,3,0.003420), Elem(29,4,0.002550), Elem(29,5,0.002047), Elem(29,6,0.001725), Elem(29,7,0.001534), Elem(29,8,0.011254), Elem(41,0,0.014950), + Elem(41,1,0.010000), Elem(41,2,0.990050), Elem(41,3,0.009933), Elem(41,4,0.004975), Elem(41,5,0.003320), Elem(41,6,0.002492), Elem(41,7,0.001994), Elem(41,8,0.001663), + Elem(48,0,0.009900), Elem(48,1,0.990000), Elem(48,2,0.009900), Elem(48,3,0.004950), Elem(48,4,0.003300), Elem(48,5,0.002475), Elem(48,6,0.001980), Elem(48,7,0.001650), + Elem(48,8,0.001414), Elem(53,0,0.003300), Elem(53,1,0.004950), Elem(53,2,0.009900), Elem(53,3,0.990000), Elem(53,4,0.009900), Elem(53,5,0.004950), Elem(53,6,0.003300), + Elem(53,7,0.002475), Elem(53,8,0.001980), Elem(60,0,0.002489), Elem(60,1,0.003317), Elem(60,2,0.004970), Elem(60,3,0.009925), Elem(60,4,0.990033), Elem(60,5,0.009950), + Elem(60,6,0.005050), Elem(60,7,0.013300), Elem(60,8,0.002575), Elem(65,0,0.001980), Elem(65,1,0.002475), Elem(65,2,0.003300), Elem(65,3,0.004950), Elem(65,4,0.009900), + Elem(65,5,0.990000), Elem(65,6,0.009900), Elem(65,7,0.004950), Elem(65,8,0.003300), Elem(69,0,0.001650), Elem(69,1,0.001980), Elem(69,2,0.002475), Elem(69,3,0.003300), + Elem(69,4,0.004950), Elem(69,5,0.009900), Elem(69,6,0.990000), Elem(69,7,0.009900), Elem(69,8,0.004950), Elem(72,0,0.001439), Elem(72,1,0.001683), Elem(72,2,0.002030), + Elem(72,3,0.002575), Elem(72,4,0.013300), Elem(72,5,0.005050), Elem(72,6,0.009950), Elem(72,7,0.990033), Elem(72,8,0.009925), Elem(75,0,0.010020), Elem(75,1,0.000125), + Elem(75,2,0.000083), Elem(75,3,0.000083), Elem(75,4,0.000125), Elem(75,5,0.010020), Elem(75,6,0.000117), Elem(75,7,0.000064), Elem(75,8,0.000046), Elem(77,0,0.011237), + Elem(77,1,0.001514), Elem(77,2,0.001700), Elem(77,3,0.002013), Elem(77,4,0.002500), Elem(77,5,0.003320), Elem(77,6,0.004967), Elem(77,7,0.009914), Elem(77,8,0.990013), + Elem(81,0,0.000017), Elem(81,1,0.000020), Elem(81,2,0.000025), Elem(81,3,0.000033), Elem(81,4,0.000050), Elem(81,5,0.000100), Elem(81,6,0.010000), Elem(81,7,0.000100), + Elem(81,8,0.000050), Elem(84,0,0.000100), Elem(84,1,0.000200), Elem(84,2,0.020000), Elem(84,3,0.000200), Elem(84,4,0.000100), Elem(84,5,0.000067), Elem(84,6,0.000050), + Elem(84,7,0.000040), Elem(84,8,0.000033), Elem(89,0,0.000033), Elem(89,1,0.000050), Elem(89,2,0.000100), Elem(89,3,0.010000), Elem(89,4,0.000100), Elem(89,5,0.000050), + Elem(89,6,0.000033), Elem(89,7,0.000025), Elem(89,8,0.000020), }, + { Elem(1,0,0.000200), Elem(1,1,0.020000), Elem(1,2,0.000200), Elem(1,3,0.000100), Elem(1,4,0.000067), Elem(1,5,0.000050), Elem(1,6,0.000040), Elem(1,7,0.000033), + Elem(1,8,0.000029), Elem(6,0,0.000067), Elem(6,1,0.000100), Elem(6,2,0.000200), Elem(6,3,0.020000), Elem(6,4,0.000200), Elem(6,5,0.000100), Elem(6,6,0.000067), + Elem(6,7,0.000050), Elem(6,8,0.000040), Elem(13,0,0.000050), Elem(13,1,0.000067), Elem(13,2,0.000100), Elem(13,3,0.000200), Elem(13,4,0.020000), Elem(13,5,0.000200), + Elem(13,6,0.000100), Elem(13,7,0.000067), Elem(13,8,0.000050), Elem(18,0,0.000040), Elem(18,1,0.000050), Elem(18,2,0.000067), Elem(18,3,0.000100), Elem(18,4,0.000200), + Elem(18,5,0.020000), Elem(18,6,0.000200), Elem(18,7,0.000100), Elem(18,8,0.000067), Elem(22,0,0.000033), Elem(22,1,0.000040), Elem(22,2,0.000050), Elem(22,3,0.000067), + Elem(22,4,0.000100), Elem(22,5,0.000200), Elem(22,6,0.020000), Elem(22,7,0.000200), Elem(22,8,0.000100), Elem(25,0,0.000029), Elem(25,1,0.000033), Elem(25,2,0.000040), + Elem(25,3,0.000050), Elem(25,4,0.000067), Elem(25,5,0.000100), Elem(25,6,0.000200), Elem(25,7,0.020000), Elem(25,8,0.000200), Elem(30,0,0.990075), Elem(30,1,0.010029), + Elem(30,2,0.014983), Elem(30,3,0.003440), Elem(30,4,0.002575), Elem(30,5,0.002080), Elem(30,6,0.001775), Elem(30,7,0.001634), Elem(30,8,0.021254), Elem(42,0,0.014950), + Elem(42,1,0.010000), Elem(42,2,0.990050), Elem(42,3,0.009933), Elem(42,4,0.004975), Elem(42,5,0.003320), Elem(42,6,0.002492), Elem(42,7,0.001994), Elem(42,8,0.001663), + Elem(49,0,0.009900), Elem(49,1,0.990000), Elem(49,2,0.009900), Elem(49,3,0.004950), Elem(49,4,0.003300), Elem(49,5,0.002475), Elem(49,6,0.001980), Elem(49,7,0.001650), + Elem(49,8,0.001414), Elem(54,0,0.003300), Elem(54,1,0.004950), Elem(54,2,0.009900), Elem(54,3,0.990000), Elem(54,4,0.009900), Elem(54,5,0.004950), Elem(54,6,0.003300), + Elem(54,7,0.002475), Elem(54,8,0.001980), Elem(61,0,0.002489), Elem(61,1,0.003317), Elem(61,2,0.004970), Elem(61,3,0.009925), Elem(61,4,0.990033), Elem(61,5,0.009950), + Elem(61,6,0.005050), Elem(61,7,0.013300), Elem(61,8,0.002575), Elem(66,0,0.001993), Elem(66,1,0.002489), Elem(66,2,0.003317), Elem(66,3,0.004970), Elem(66,4,0.009925), + Elem(66,5,0.990033), Elem(66,6,0.009950), Elem(66,7,0.005050), Elem(66,8,0.013300), Elem(70,0,0.001650), Elem(70,1,0.001980), Elem(70,2,0.002475), Elem(70,3,0.003300), + Elem(70,4,0.004950), Elem(70,5,0.009900), Elem(70,6,0.990000), Elem(70,7,0.009900), Elem(70,8,0.004950), Elem(73,0,0.001439), Elem(73,1,0.001683), Elem(73,2,0.002030), + Elem(73,3,0.002575), Elem(73,4,0.013300), Elem(73,5,0.005050), Elem(73,6,0.009950), Elem(73,7,0.990033), Elem(73,8,0.009925), Elem(78,0,0.021257), Elem(78,1,0.001639), + Elem(78,2,0.001783), Elem(78,3,0.002097), Elem(78,4,0.002625), Elem(78,5,0.013340), Elem(78,6,0.005083), Elem(78,7,0.009979), Elem(78,8,0.990058), Elem(82,0,0.000017), + Elem(82,1,0.000020), Elem(82,2,0.000025), Elem(82,3,0.000033), Elem(82,4,0.000050), Elem(82,5,0.000100), Elem(82,6,0.010000), Elem(82,7,0.000100), Elem(82,8,0.000050), + Elem(85,0,0.000200), Elem(85,1,0.010200), Elem(85,2,0.020100), Elem(85,3,0.000250), Elem(85,4,0.000133), Elem(85,5,0.000092), Elem(85,6,0.000070), Elem(85,7,0.000057), + Elem(85,8,0.000048), Elem(90,0,0.000033), Elem(90,1,0.000050), Elem(90,2,0.000100), Elem(90,3,0.010000), Elem(90,4,0.000100), Elem(90,5,0.000050), Elem(90,6,0.000033), + Elem(90,7,0.000025), Elem(90,8,0.000020), }, + { Elem(2,0,0.000200), Elem(2,1,0.020000), Elem(2,2,0.000200), Elem(2,3,0.000100), Elem(2,4,0.000067), Elem(2,5,0.000050), Elem(2,6,0.000040), Elem(2,7,0.000033), + Elem(2,8,0.000029), Elem(7,0,0.000067), Elem(7,1,0.000100), Elem(7,2,0.000200), Elem(7,3,0.020000), Elem(7,4,0.000200), Elem(7,5,0.000100), Elem(7,6,0.000067), + Elem(7,7,0.000050), Elem(7,8,0.000040), Elem(14,0,0.000050), Elem(14,1,0.000067), Elem(14,2,0.000100), Elem(14,3,0.000200), Elem(14,4,0.020000), Elem(14,5,0.000200), + Elem(14,6,0.000100), Elem(14,7,0.000067), Elem(14,8,0.000050), Elem(19,0,0.000040), Elem(19,1,0.000050), Elem(19,2,0.000067), Elem(19,3,0.000100), Elem(19,4,0.000200), + Elem(19,5,0.020000), Elem(19,6,0.000200), Elem(19,7,0.000100), Elem(19,8,0.000067), Elem(23,0,0.000033), Elem(23,1,0.000040), Elem(23,2,0.000050), Elem(23,3,0.000067), + Elem(23,4,0.000100), Elem(23,5,0.000200), Elem(23,6,0.020000), Elem(23,7,0.000200), Elem(23,8,0.000100), Elem(26,0,0.000029), Elem(26,1,0.000033), Elem(26,2,0.000040), + Elem(26,3,0.000050), Elem(26,4,0.000067), Elem(26,5,0.000100), Elem(26,6,0.000200), Elem(26,7,0.020000), Elem(26,8,0.000200), Elem(31,0,0.990025), Elem(31,1,0.009929), + Elem(31,2,0.004983), Elem(31,3,0.003340), Elem(31,4,0.002525), Elem(31,5,0.002047), Elem(31,6,0.001750), Elem(31,7,0.001614), Elem(31,8,0.021238), Elem(36,0,0.000050), + Elem(36,1,0.000100), Elem(36,2,0.010000), Elem(36,3,0.000100), Elem(36,4,0.000050), Elem(36,5,0.000033), Elem(36,6,0.000025), Elem(36,7,0.000020), Elem(36,8,0.000017), + Elem(43,0,0.004983), Elem(43,1,0.009950), Elem(43,2,0.990100), Elem(43,3,0.019900), Elem(43,4,0.005050), Elem(43,5,0.003350), Elem(43,6,0.002508), Elem(43,7,0.002005), + Elem(43,8,0.001670), Elem(50,0,0.009900), Elem(50,1,0.990000), Elem(50,2,0.009900), Elem(50,3,0.004950), Elem(50,4,0.003300), Elem(50,5,0.002475), Elem(50,6,0.001980), + Elem(50,7,0.001650), Elem(50,8,0.001414), Elem(55,0,0.003350), Elem(55,1,0.005050), Elem(55,2,0.019900), Elem(55,3,0.990100), Elem(55,4,0.009950), Elem(55,5,0.004983), + Elem(55,6,0.003325), Elem(55,7,0.002495), Elem(55,8,0.001997), Elem(62,0,0.002489), Elem(62,1,0.003317), Elem(62,2,0.004970), Elem(62,3,0.009925), Elem(62,4,0.990033), + Elem(62,5,0.009950), Elem(62,6,0.005050), Elem(62,7,0.013300), Elem(62,8,0.002575), Elem(67,0,0.001993), Elem(67,1,0.002489), Elem(67,2,0.003317), Elem(67,3,0.004970), + Elem(67,4,0.009925), Elem(67,5,0.990033), Elem(67,6,0.009950), Elem(67,7,0.005050), Elem(67,8,0.013300), Elem(71,0,0.001650), Elem(71,1,0.001980), Elem(71,2,0.002475), + Elem(71,3,0.003300), Elem(71,4,0.004950), Elem(71,5,0.009900), Elem(71,6,0.990000), Elem(71,7,0.009900), Elem(71,8,0.004950), Elem(74,0,0.001439), Elem(74,1,0.001683), + Elem(74,2,0.002030), Elem(74,3,0.002575), Elem(74,4,0.013300), Elem(74,5,0.005050), Elem(74,6,0.009950), Elem(74,7,0.990033), Elem(74,8,0.009925), Elem(79,0,0.021257), + Elem(79,1,0.001639), Elem(79,2,0.001783), Elem(79,3,0.002097), Elem(79,4,0.002625), Elem(79,5,0.013340), Elem(79,6,0.005083), Elem(79,7,0.009979), Elem(79,8,0.990058), + Elem(83,0,0.000017), Elem(83,1,0.000020), Elem(83,2,0.000025), Elem(83,3,0.000033), Elem(83,4,0.000050), Elem(83,5,0.000100), Elem(83,6,0.010000), Elem(83,7,0.000100), + Elem(83,8,0.000050), Elem(86,0,0.010150), Elem(86,1,0.010200), Elem(86,2,0.010150), Elem(86,3,0.000183), Elem(86,4,0.000108), Elem(86,5,0.000078), Elem(86,6,0.000062), + Elem(86,7,0.000051), Elem(86,8,0.000043), }, + { Elem(3,0,0.000200), Elem(3,1,0.020000), Elem(3,2,0.000200), Elem(3,3,0.000100), Elem(3,4,0.000067), Elem(3,5,0.000050), Elem(3,6,0.000040), Elem(3,7,0.000033), + Elem(3,8,0.000029), Elem(8,0,0.000067), Elem(8,1,0.000100), Elem(8,2,0.000200), Elem(8,3,0.020000), Elem(8,4,0.000200), Elem(8,5,0.000100), Elem(8,6,0.000067), + Elem(8,7,0.000050), Elem(8,8,0.000040), Elem(15,0,0.000050), Elem(15,1,0.000067), Elem(15,2,0.000100), Elem(15,3,0.000200), Elem(15,4,0.020000), Elem(15,5,0.000200), + Elem(15,6,0.000100), Elem(15,7,0.000067), Elem(15,8,0.000050), Elem(20,0,0.000040), Elem(20,1,0.000050), Elem(20,2,0.000067), Elem(20,3,0.000100), Elem(20,4,0.000200), + Elem(20,5,0.020000), Elem(20,6,0.000200), Elem(20,7,0.000100), Elem(20,8,0.000067), Elem(24,0,0.000033), Elem(24,1,0.000040), Elem(24,2,0.000050), Elem(24,3,0.000067), + Elem(24,4,0.000100), Elem(24,5,0.000200), Elem(24,6,0.020000), Elem(24,7,0.000200), Elem(24,8,0.000100), Elem(27,1,0.000017), Elem(27,2,0.000020), Elem(27,3,0.000025), + Elem(27,4,0.000033), Elem(27,5,0.000050), Elem(27,6,0.000100), Elem(27,7,0.010000), Elem(27,8,0.000100), Elem(29,1,0.000017), Elem(29,2,0.000020), Elem(29,3,0.000025), + Elem(29,4,0.000033), Elem(29,5,0.000050), Elem(29,6,0.000100), Elem(29,7,0.010000), Elem(29,8,0.000100), Elem(32,0,0.990025), Elem(32,1,0.009929), Elem(32,2,0.004983), + Elem(32,3,0.003340), Elem(32,4,0.002525), Elem(32,5,0.002047), Elem(32,6,0.001750), Elem(32,7,0.001614), Elem(32,8,0.021238), Elem(33,0,0.000050), Elem(33,1,0.000100), + Elem(33,2,0.010000), Elem(33,3,0.000100), Elem(33,4,0.000050), Elem(33,5,0.000033), Elem(33,6,0.000025), Elem(33,7,0.000020), Elem(33,8,0.000017), Elem(44,0,0.004983), + Elem(44,1,0.009950), Elem(44,2,0.990100), Elem(44,3,0.019900), Elem(44,4,0.005050), Elem(44,5,0.003350), Elem(44,6,0.002508), Elem(44,7,0.002005), Elem(44,8,0.001670), + Elem(51,0,0.009900), Elem(51,1,0.990000), Elem(51,2,0.009900), Elem(51,3,0.004950), Elem(51,4,0.003300), Elem(51,5,0.002475), Elem(51,6,0.001980), Elem(51,7,0.001650), + Elem(51,8,0.001414), Elem(56,0,0.003350), Elem(56,1,0.005050), Elem(56,2,0.019900), Elem(56,3,0.990100), Elem(56,4,0.009950), Elem(56,5,0.004983), Elem(56,6,0.003325), + Elem(56,7,0.002495), Elem(56,8,0.001997), Elem(60,0,0.000017), Elem(60,1,0.000020), Elem(60,2,0.000025), Elem(60,3,0.000033), Elem(60,4,0.000050), Elem(60,5,0.000100), + Elem(60,6,0.010000), Elem(60,7,0.000100), Elem(60,8,0.000050), Elem(63,0,0.002475), Elem(63,1,0.003300), Elem(63,2,0.004950), Elem(63,3,0.009900), Elem(63,4,0.990000), + Elem(63,5,0.009900), Elem(63,6,0.004950), Elem(63,7,0.003300), Elem(63,8,0.002475), Elem(65,1,0.000017), Elem(65,2,0.000020), Elem(65,3,0.000025), Elem(65,4,0.000033), + Elem(65,5,0.000050), Elem(65,6,0.000100), Elem(65,7,0.010000), Elem(65,8,0.000100), Elem(68,0,0.001993), Elem(68,1,0.002489), Elem(68,2,0.003317), Elem(68,3,0.004970), + Elem(68,4,0.009925), Elem(68,5,0.990033), Elem(68,6,0.009950), Elem(68,7,0.005050), Elem(68,8,0.013300), Elem(72,0,0.001650), Elem(72,1,0.001980), Elem(72,2,0.002475), + Elem(72,3,0.003300), Elem(72,4,0.004950), Elem(72,5,0.009900), Elem(72,6,0.990000), Elem(72,7,0.009900), Elem(72,8,0.004950), Elem(75,0,0.001439), Elem(75,1,0.001683), + Elem(75,2,0.002030), Elem(75,3,0.002575), Elem(75,4,0.013300), Elem(75,5,0.005050), Elem(75,6,0.009950), Elem(75,7,0.990033), Elem(75,8,0.009925), Elem(80,0,0.021257), + Elem(80,1,0.001639), Elem(80,2,0.001783), Elem(80,3,0.002097), Elem(80,4,0.002625), Elem(80,5,0.013340), Elem(80,6,0.005083), Elem(80,7,0.009979), Elem(80,8,0.990058), + Elem(87,0,0.010150), Elem(87,1,0.010200), Elem(87,2,0.010150), Elem(87,3,0.000183), Elem(87,4,0.000108), Elem(87,5,0.000078), Elem(87,6,0.000062), Elem(87,7,0.000051), + Elem(87,8,0.000043), }, + { Elem(4,0,0.000200), Elem(4,1,0.020000), Elem(4,2,0.000200), Elem(4,3,0.000100), Elem(4,4,0.000067), Elem(4,5,0.000050), Elem(4,6,0.000040), Elem(4,7,0.000033), + Elem(4,8,0.000029), Elem(9,0,0.000067), Elem(9,1,0.000100), Elem(9,2,0.000200), Elem(9,3,0.020000), Elem(9,4,0.000200), Elem(9,5,0.000100), Elem(9,6,0.000067), + Elem(9,7,0.000050), Elem(9,8,0.000040), Elem(16,0,0.000050), Elem(16,1,0.000067), Elem(16,2,0.000100), Elem(16,3,0.000200), Elem(16,4,0.020000), Elem(16,5,0.000200), + Elem(16,6,0.000100), Elem(16,7,0.000067), Elem(16,8,0.000050), Elem(21,0,0.000040), Elem(21,1,0.000050), Elem(21,2,0.000067), Elem(21,3,0.000100), Elem(21,4,0.000200), + Elem(21,5,0.020000), Elem(21,6,0.000200), Elem(21,7,0.000100), Elem(21,8,0.000067), Elem(25,0,0.010033), Elem(25,1,0.000140), Elem(25,2,0.000100), Elem(25,3,0.000100), + Elem(25,4,0.000125), Elem(25,5,0.000220), Elem(25,6,0.020017), Elem(25,7,0.000214), Elem(25,8,0.000112), Elem(28,0,0.000029), Elem(28,1,0.000033), Elem(28,2,0.000040), + Elem(28,3,0.000050), Elem(28,4,0.000067), Elem(28,5,0.000100), Elem(28,6,0.000200), Elem(28,7,0.020000), Elem(28,8,0.000200), Elem(33,0,0.990025), Elem(33,1,0.009929), + Elem(33,2,0.004983), Elem(33,3,0.003340), Elem(33,4,0.002525), Elem(33,5,0.002047), Elem(33,6,0.001750), Elem(33,7,0.001614), Elem(33,8,0.021238), Elem(38,0,0.000050), + Elem(38,1,0.000100), Elem(38,2,0.010000), Elem(38,3,0.000100), Elem(38,4,0.000050), Elem(38,5,0.000033), Elem(38,6,0.000025), Elem(38,7,0.000020), Elem(38,8,0.000017), + Elem(44,0,0.010000), Elem(44,1,0.000100), Elem(44,2,0.000050), Elem(44,3,0.000033), Elem(44,4,0.000025), Elem(44,5,0.000020), Elem(44,6,0.000017), Elem(45,0,0.004983), + Elem(45,1,0.009950), Elem(45,2,0.990100), Elem(45,3,0.019900), Elem(45,4,0.005050), Elem(45,5,0.003350), Elem(45,6,0.002508), Elem(45,7,0.002005), Elem(45,8,0.001670), + Elem(52,0,0.009900), Elem(52,1,0.990000), Elem(52,2,0.009900), Elem(52,3,0.004950), Elem(52,4,0.003300), Elem(52,5,0.002475), Elem(52,6,0.001980), Elem(52,7,0.001650), + Elem(52,8,0.001414), Elem(57,0,0.003350), Elem(57,1,0.005050), Elem(57,2,0.019900), Elem(57,3,0.990100), Elem(57,4,0.009950), Elem(57,5,0.004983), Elem(57,6,0.003325), + Elem(57,7,0.002495), Elem(57,8,0.001997), Elem(61,0,0.000017), Elem(61,1,0.000020), Elem(61,2,0.000025), Elem(61,3,0.000033), Elem(61,4,0.000050), Elem(61,5,0.000100), + Elem(61,6,0.010000), Elem(61,7,0.000100), Elem(61,8,0.000050), Elem(64,0,0.002489), Elem(64,1,0.003317), Elem(64,2,0.004970), Elem(64,3,0.009925), Elem(64,4,0.990033), + Elem(64,5,0.009950), Elem(64,6,0.005050), Elem(64,7,0.013300), Elem(64,8,0.002575), Elem(69,0,0.001993), Elem(69,1,0.002489), Elem(69,2,0.003317), Elem(69,3,0.004970), + Elem(69,4,0.009925), Elem(69,5,0.990033), Elem(69,6,0.009950), Elem(69,7,0.005050), Elem(69,8,0.013300), Elem(73,0,0.001650), Elem(73,1,0.001980), Elem(73,2,0.002475), + Elem(73,3,0.003300), Elem(73,4,0.004950), Elem(73,5,0.009900), Elem(73,6,0.990000), Elem(73,7,0.009900), Elem(73,8,0.004950), Elem(76,0,0.001439), Elem(76,1,0.001683), + Elem(76,2,0.002030), Elem(76,3,0.002575), Elem(76,4,0.013300), Elem(76,5,0.005050), Elem(76,6,0.009950), Elem(76,7,0.990033), Elem(76,8,0.009925), Elem(81,0,0.011257), + Elem(81,1,0.001539), Elem(81,2,0.001733), Elem(81,3,0.002063), Elem(81,4,0.002600), Elem(81,5,0.013320), Elem(81,6,0.005067), Elem(81,7,0.009964), Elem(81,8,0.990046), + Elem(88,0,0.000150), Elem(88,1,0.010100), Elem(88,2,0.010100), Elem(88,3,0.000150), Elem(88,4,0.000083), Elem(88,5,0.000058), Elem(88,6,0.000045), Elem(88,7,0.000037), + Elem(88,8,0.000031), }, + { Elem(5,0,0.000200), Elem(5,1,0.020000), Elem(5,2,0.000200), Elem(5,3,0.000100), Elem(5,4,0.000067), Elem(5,5,0.000050), Elem(5,6,0.000040), Elem(5,7,0.000033), + Elem(5,8,0.000029), Elem(10,0,0.000067), Elem(10,1,0.000100), Elem(10,2,0.000200), Elem(10,3,0.020000), Elem(10,4,0.000200), Elem(10,5,0.000100), Elem(10,6,0.000067), + Elem(10,7,0.000050), Elem(10,8,0.000040), Elem(17,0,0.000050), Elem(17,1,0.000067), Elem(17,2,0.000100), Elem(17,3,0.000200), Elem(17,4,0.020000), Elem(17,5,0.000200), + Elem(17,6,0.000100), Elem(17,7,0.000067), Elem(17,8,0.000050), Elem(22,0,0.000040), Elem(22,1,0.000050), Elem(22,2,0.000067), Elem(22,3,0.000100), Elem(22,4,0.000200), + Elem(22,5,0.020000), Elem(22,6,0.000200), Elem(22,7,0.000100), Elem(22,8,0.000067), Elem(26,0,0.000033), Elem(26,1,0.000040), Elem(26,2,0.000050), Elem(26,3,0.000067), + Elem(26,4,0.000100), Elem(26,5,0.000200), Elem(26,6,0.020000), Elem(26,7,0.000200), Elem(26,8,0.000100), Elem(29,1,0.000017), Elem(29,2,0.000020), Elem(29,3,0.000025), + Elem(29,4,0.000033), Elem(29,5,0.000050), Elem(29,6,0.000100), Elem(29,7,0.010000), Elem(29,8,0.000100), Elem(34,0,0.990025), Elem(34,1,0.009929), Elem(34,2,0.004983), + Elem(34,3,0.003340), Elem(34,4,0.002525), Elem(34,5,0.002047), Elem(34,6,0.001750), Elem(34,7,0.001614), Elem(34,8,0.021238), Elem(39,0,0.000050), Elem(39,1,0.000100), + Elem(39,2,0.010000), Elem(39,3,0.000100), Elem(39,4,0.000050), Elem(39,5,0.000033), Elem(39,6,0.000025), Elem(39,7,0.000020), Elem(39,8,0.000017), Elem(46,0,0.004983), + Elem(46,1,0.009950), Elem(46,2,0.990100), Elem(46,3,0.019900), Elem(46,4,0.005050), Elem(46,5,0.003350), Elem(46,6,0.002508), Elem(46,7,0.002005), Elem(46,8,0.001670), + Elem(53,0,0.009900), Elem(53,1,0.990000), Elem(53,2,0.009900), Elem(53,3,0.004950), Elem(53,4,0.003300), Elem(53,5,0.002475), Elem(53,6,0.001980), Elem(53,7,0.001650), + Elem(53,8,0.001414), Elem(58,0,0.003350), Elem(58,1,0.005050), Elem(58,2,0.019900), Elem(58,3,0.990100), Elem(58,4,0.009950), Elem(58,5,0.004983), Elem(58,6,0.003325), + Elem(58,7,0.002495), Elem(58,8,0.001997), Elem(62,0,0.000017), Elem(62,1,0.000020), Elem(62,2,0.000025), Elem(62,3,0.000033), Elem(62,4,0.000050), Elem(62,5,0.000100), + Elem(62,6,0.010000), Elem(62,7,0.000100), Elem(62,8,0.000050), Elem(65,0,0.002475), Elem(65,1,0.003300), Elem(65,2,0.004950), Elem(65,3,0.009900), Elem(65,4,0.990000), + Elem(65,5,0.009900), Elem(65,6,0.004950), Elem(65,7,0.003300), Elem(65,8,0.002475), Elem(70,0,0.001993), Elem(70,1,0.002489), Elem(70,2,0.003317), Elem(70,3,0.004970), + Elem(70,4,0.009925), Elem(70,5,0.990033), Elem(70,6,0.009950), Elem(70,7,0.005050), Elem(70,8,0.013300), Elem(74,0,0.001650), Elem(74,1,0.001980), Elem(74,2,0.002475), + Elem(74,3,0.003300), Elem(74,4,0.004950), Elem(74,5,0.009900), Elem(74,6,0.990000), Elem(74,7,0.009900), Elem(74,8,0.004950), Elem(75,0,0.000025), Elem(75,1,0.000033), + Elem(75,2,0.000050), Elem(75,3,0.000100), Elem(75,4,0.010000), Elem(75,5,0.000100), Elem(75,6,0.000050), Elem(75,7,0.000033), Elem(75,8,0.000025), Elem(77,0,0.001414), + Elem(77,1,0.001650), Elem(77,2,0.001980), Elem(77,3,0.002475), Elem(77,4,0.003300), Elem(77,5,0.004950), Elem(77,6,0.009900), Elem(77,7,0.990000), Elem(77,8,0.009900), + Elem(82,0,0.021257), Elem(82,1,0.001639), Elem(82,2,0.001783), Elem(82,3,0.002097), Elem(82,4,0.002625), Elem(82,5,0.013340), Elem(82,6,0.005083), Elem(82,7,0.009979), + Elem(82,8,0.990058), Elem(89,0,0.010150), Elem(89,1,0.010200), Elem(89,2,0.010150), Elem(89,3,0.000183), Elem(89,4,0.000108), Elem(89,5,0.000078), Elem(89,6,0.000062), + Elem(89,7,0.000051), Elem(89,8,0.000043), }, + { Elem(6,0,0.000200), Elem(6,1,0.020000), Elem(6,2,0.000200), Elem(6,3,0.000100), Elem(6,4,0.000067), Elem(6,5,0.000050), Elem(6,6,0.000040), Elem(6,7,0.000033), + Elem(6,8,0.000029), Elem(11,0,0.000067), Elem(11,1,0.000100), Elem(11,2,0.000200), Elem(11,3,0.020000), Elem(11,4,0.000200), Elem(11,5,0.000100), Elem(11,6,0.000067), + Elem(11,7,0.000050), Elem(11,8,0.000040), Elem(18,0,0.000050), Elem(18,1,0.000067), Elem(18,2,0.000100), Elem(18,3,0.000200), Elem(18,4,0.020000), Elem(18,5,0.000200), + Elem(18,6,0.000100), Elem(18,7,0.000067), Elem(18,8,0.000050), Elem(23,0,0.000040), Elem(23,1,0.000050), Elem(23,2,0.000067), Elem(23,3,0.000100), Elem(23,4,0.000200), + Elem(23,5,0.020000), Elem(23,6,0.000200), Elem(23,7,0.000100), Elem(23,8,0.000067), Elem(27,0,0.000017), Elem(27,1,0.000020), Elem(27,2,0.000025), Elem(27,3,0.000033), + Elem(27,4,0.000050), Elem(27,5,0.000100), Elem(27,6,0.010000), Elem(27,7,0.000100), Elem(27,8,0.000050), Elem(29,0,0.000017), Elem(29,1,0.000020), Elem(29,2,0.000025), + Elem(29,3,0.000033), Elem(29,4,0.000050), Elem(29,5,0.000100), Elem(29,6,0.010000), Elem(29,7,0.000100), Elem(29,8,0.000050), Elem(30,0,0.000029), Elem(30,1,0.000033), + Elem(30,2,0.000040), Elem(30,3,0.000050), Elem(30,4,0.000067), Elem(30,5,0.000100), Elem(30,6,0.000200), Elem(30,7,0.020000), Elem(30,8,0.000200), Elem(35,0,0.990025), + Elem(35,1,0.009929), Elem(35,2,0.004983), Elem(35,3,0.003340), Elem(35,4,0.002525), Elem(35,5,0.002047), Elem(35,6,0.001750), Elem(35,7,0.001614), Elem(35,8,0.021238), + Elem(40,0,0.000050), Elem(40,1,0.000100), Elem(40,2,0.010000), Elem(40,3,0.000100), Elem(40,4,0.000050), Elem(40,5,0.000033), Elem(40,6,0.000025), Elem(40,7,0.000020), + Elem(40,8,0.000017), Elem(47,0,0.004983), Elem(47,1,0.009950), Elem(47,2,0.990100), Elem(47,3,0.019900), Elem(47,4,0.005050), Elem(47,5,0.003350), Elem(47,6,0.002508), + Elem(47,7,0.002005), Elem(47,8,0.001670), Elem(54,0,0.009900), Elem(54,1,0.990000), Elem(54,2,0.009900), Elem(54,3,0.004950), Elem(54,4,0.003300), Elem(54,5,0.002475), + Elem(54,6,0.001980), Elem(54,7,0.001650), Elem(54,8,0.001414), Elem(59,0,0.003350), Elem(59,1,0.005050), Elem(59,2,0.019900), Elem(59,3,0.990100), Elem(59,4,0.009950), + Elem(59,5,0.004983), Elem(59,6,0.003325), Elem(59,7,0.002495), Elem(59,8,0.001997), Elem(65,0,0.000017), Elem(65,1,0.000020), Elem(65,2,0.000025), Elem(65,3,0.000033), + Elem(65,4,0.000050), Elem(65,5,0.000100), Elem(65,6,0.010000), Elem(65,7,0.000100), Elem(65,8,0.000050), Elem(66,0,0.002489), Elem(66,1,0.003317), Elem(66,2,0.004970), + Elem(66,3,0.009925), Elem(66,4,0.990033), Elem(66,5,0.009950), Elem(66,6,0.005050), Elem(66,7,0.013300), Elem(66,8,0.002575), Elem(71,0,0.001993), Elem(71,1,0.002489), + Elem(71,2,0.003317), Elem(71,3,0.004970), Elem(71,4,0.009925), Elem(71,5,0.990033), Elem(71,6,0.009950), Elem(71,7,0.005050), Elem(71,8,0.013300), Elem(75,0,0.001650), + Elem(75,1,0.001980), Elem(75,2,0.002475), Elem(75,3,0.003300), Elem(75,4,0.004950), Elem(75,5,0.009900), Elem(75,6,0.990000), Elem(75,7,0.009900), Elem(75,8,0.004950), + Elem(78,0,0.001439), Elem(78,1,0.001683), Elem(78,2,0.002030), Elem(78,3,0.002575), Elem(78,4,0.013300), Elem(78,5,0.005050), Elem(78,6,0.009950), Elem(78,7,0.990033), + Elem(78,8,0.009925), Elem(83,0,0.021257), Elem(83,1,0.001639), Elem(83,2,0.001783), Elem(83,3,0.002097), Elem(83,4,0.002625), Elem(83,5,0.013340), Elem(83,6,0.005083), + Elem(83,7,0.009979), Elem(83,8,0.990058), Elem(90,0,0.010150), Elem(90,1,0.010200), Elem(90,2,0.010150), Elem(90,3,0.000183), Elem(90,4,0.000108), Elem(90,5,0.000078), + Elem(90,6,0.000062), Elem(90,7,0.000051), Elem(90,8,0.000043), }, + { Elem(0,0,0.000100), Elem(0,1,0.000200), Elem(0,2,0.020000), Elem(0,3,0.000200), Elem(0,4,0.000100), Elem(0,5,0.000067), Elem(0,6,0.000050), Elem(0,7,0.000040), + Elem(0,8,0.000033), Elem(7,0,0.000200), Elem(7,1,0.020000), Elem(7,2,0.000200), Elem(7,3,0.000100), Elem(7,4,0.000067), Elem(7,5,0.000050), Elem(7,6,0.000040), + Elem(7,7,0.000033), Elem(7,8,0.000029), Elem(12,0,0.000067), Elem(12,1,0.000100), Elem(12,2,0.000200), Elem(12,3,0.020000), Elem(12,4,0.000200), Elem(12,5,0.000100), + Elem(12,6,0.000067), Elem(12,7,0.000050), Elem(12,8,0.000040), Elem(19,0,0.000050), Elem(19,1,0.000067), Elem(19,2,0.000100), Elem(19,3,0.000200), Elem(19,4,0.020000), + Elem(19,5,0.000200), Elem(19,6,0.000100), Elem(19,7,0.000067), Elem(19,8,0.000050), Elem(24,0,0.015002), Elem(24,1,0.000200), Elem(24,2,0.000141), Elem(24,3,0.000150), + Elem(24,4,0.000237), Elem(24,5,0.020030), Elem(24,6,0.000225), Elem(24,7,0.000121), Elem(24,8,0.000085), Elem(28,0,0.000033), Elem(28,1,0.000040), Elem(28,2,0.000050), + Elem(28,3,0.000067), Elem(28,4,0.000100), Elem(28,5,0.000200), Elem(28,6,0.020000), Elem(28,7,0.000200), Elem(28,8,0.000100), Elem(31,0,0.000029), Elem(31,1,0.000033), + Elem(31,2,0.000040), Elem(31,3,0.000050), Elem(31,4,0.000067), Elem(31,5,0.000100), Elem(31,6,0.000200), Elem(31,7,0.020000), Elem(31,8,0.000200), Elem(36,0,1.481273), + Elem(36,1,0.014813), Elem(36,2,0.007406), Elem(36,3,0.004938), Elem(36,4,0.003703), Elem(36,5,0.002963), Elem(36,6,0.002469), Elem(36,7,0.002116), Elem(36,8,0.001852), + Elem(41,0,0.000025), Elem(41,1,0.000029), Elem(41,2,0.000033), Elem(41,3,0.000040), Elem(41,4,0.000050), Elem(41,5,0.000067), Elem(41,6,0.000100), Elem(41,7,0.000200), + Elem(41,8,0.020000), Elem(43,0,0.015062), Elem(43,1,0.010150), Elem(43,2,0.000175), Elem(43,3,0.000100), Elem(43,4,0.000071), Elem(43,5,0.000055), Elem(43,6,0.000045), + Elem(43,7,0.000038), Elem(43,8,0.000033), Elem(48,0,0.004950), Elem(48,1,0.009900), Elem(48,2,0.990000), Elem(48,3,0.009900), Elem(48,4,0.004950), Elem(48,5,0.003300), + Elem(48,6,0.002475), Elem(48,7,0.001980), Elem(48,8,0.001650), Elem(55,0,0.009900), Elem(55,1,0.990000), Elem(55,2,0.009900), Elem(55,3,0.004950), Elem(55,4,0.003300), + Elem(55,5,0.002475), Elem(55,6,0.001980), Elem(55,7,0.001650), Elem(55,8,0.001414), Elem(60,0,0.003320), Elem(60,1,0.004975), Elem(60,2,0.009933), Elem(60,3,0.990050), + Elem(60,4,0.010000), Elem(60,5,0.014950), Elem(60,6,0.003400), Elem(60,7,0.002525), Elem(60,8,0.002013), Elem(64,0,0.000017), Elem(64,1,0.000020), Elem(64,2,0.000025), + Elem(64,3,0.000033), Elem(64,4,0.000050), Elem(64,5,0.000100), Elem(64,6,0.010000), Elem(64,7,0.000100), Elem(64,8,0.000050), Elem(67,0,0.002489), Elem(67,1,0.003317), + Elem(67,2,0.004970), Elem(67,3,0.009925), Elem(67,4,0.990033), Elem(67,5,0.009950), Elem(67,6,0.005050), Elem(67,7,0.013300), Elem(67,8,0.002575), Elem(72,0,0.002013), + Elem(72,1,0.002525), Elem(72,2,0.003400), Elem(72,3,0.014950), Elem(72,4,0.010000), Elem(72,5,0.990050), Elem(72,6,0.009933), Elem(72,7,0.004975), Elem(72,8,0.003320), + Elem(76,0,0.001650), Elem(76,1,0.001980), Elem(76,2,0.002475), Elem(76,3,0.003300), Elem(76,4,0.004950), Elem(76,5,0.009900), Elem(76,6,0.990000), Elem(76,7,0.009900), + Elem(76,8,0.004950), Elem(79,0,0.001439), Elem(79,1,0.001683), Elem(79,2,0.002030), Elem(79,3,0.002575), Elem(79,4,0.013300), Elem(79,5,0.005050), Elem(79,6,0.009950), + Elem(79,7,0.990033), Elem(79,8,0.009925), Elem(84,0,0.001237), Elem(84,1,0.001414), Elem(84,2,0.001650), Elem(84,3,0.001980), Elem(84,4,0.002475), Elem(84,5,0.003300), + Elem(84,6,0.004950), Elem(84,7,0.009900), Elem(84,8,0.990000), }, + { Elem(1,0,0.000150), Elem(1,1,0.000299), Elem(1,2,0.029925), Elem(1,3,0.000299), Elem(1,4,0.000150), Elem(1,5,0.000100), Elem(1,6,0.000075), Elem(1,7,0.000060), + Elem(1,8,0.000050), Elem(8,0,0.000200), Elem(8,1,0.020000), Elem(8,2,0.000200), Elem(8,3,0.000100), Elem(8,4,0.000067), Elem(8,5,0.000050), Elem(8,6,0.000040), + Elem(8,7,0.000033), Elem(8,8,0.000029), Elem(13,0,0.000067), Elem(13,1,0.000100), Elem(13,2,0.000200), Elem(13,3,0.020000), Elem(13,4,0.000200), Elem(13,5,0.000100), + Elem(13,6,0.000067), Elem(13,7,0.000050), Elem(13,8,0.000040), Elem(20,0,0.000050), Elem(20,1,0.000067), Elem(20,2,0.000100), Elem(20,3,0.000200), Elem(20,4,0.020000), + Elem(20,5,0.000200), Elem(20,6,0.000100), Elem(20,7,0.000067), Elem(20,8,0.000050), Elem(25,0,0.000040), Elem(25,1,0.000050), Elem(25,2,0.000067), Elem(25,3,0.000100), + Elem(25,4,0.000200), Elem(25,5,0.020000), Elem(25,6,0.000200), Elem(25,7,0.000100), Elem(25,8,0.000067), Elem(29,0,0.000017), Elem(29,1,0.000020), Elem(29,2,0.000025), + Elem(29,3,0.000033), Elem(29,4,0.000050), Elem(29,5,0.000100), Elem(29,6,0.010000), Elem(29,7,0.000100), Elem(29,8,0.000050), Elem(32,0,0.000029), Elem(32,1,0.000033), + Elem(32,2,0.000040), Elem(32,3,0.000050), Elem(32,4,0.000067), Elem(32,5,0.000100), Elem(32,6,0.000200), Elem(32,7,0.020000), Elem(32,8,0.000200), Elem(37,0,1.481273), + Elem(37,1,0.014813), Elem(37,2,0.007406), Elem(37,3,0.004938), Elem(37,4,0.003703), Elem(37,5,0.002963), Elem(37,6,0.002469), Elem(37,7,0.002116), Elem(37,8,0.001852), + Elem(42,0,0.000025), Elem(42,1,0.000029), Elem(42,2,0.000033), Elem(42,3,0.000040), Elem(42,4,0.000050), Elem(42,5,0.000067), Elem(42,6,0.000100), Elem(42,7,0.000200), + Elem(42,8,0.020000), Elem(44,0,0.000100), Elem(44,1,0.010000), Elem(44,2,0.000100), Elem(44,3,0.000050), Elem(44,4,0.000033), Elem(44,5,0.000025), Elem(44,6,0.000020), + Elem(44,7,0.000017), Elem(49,0,0.007419), Elem(49,1,0.014827), Elem(49,2,1.481290), Elem(49,3,0.014833), Elem(49,4,0.007431), Elem(49,5,0.004971), Elem(49,6,0.003753), + Elem(49,7,0.003063), Elem(49,8,0.012469), Elem(56,0,0.009900), Elem(56,1,0.990000), Elem(56,2,0.009900), Elem(56,3,0.004950), Elem(56,4,0.003300), Elem(56,5,0.002475), + Elem(56,6,0.001980), Elem(56,7,0.001650), Elem(56,8,0.001414), Elem(61,0,0.003320), Elem(61,1,0.004975), Elem(61,2,0.009933), Elem(61,3,0.990050), Elem(61,4,0.010000), + Elem(61,5,0.014950), Elem(61,6,0.003400), Elem(61,7,0.002525), Elem(61,8,0.002013), Elem(68,0,0.002489), Elem(68,1,0.003317), Elem(68,2,0.004970), Elem(68,3,0.009925), + Elem(68,4,0.990033), Elem(68,5,0.009950), Elem(68,6,0.005050), Elem(68,7,0.013300), Elem(68,8,0.002575), Elem(73,0,0.002013), Elem(73,1,0.002525), Elem(73,2,0.003400), + Elem(73,3,0.014950), Elem(73,4,0.010000), Elem(73,5,0.990050), Elem(73,6,0.009933), Elem(73,7,0.004975), Elem(73,8,0.003320), Elem(77,0,0.001650), Elem(77,1,0.001980), + Elem(77,2,0.002475), Elem(77,3,0.003300), Elem(77,4,0.004950), Elem(77,5,0.009900), Elem(77,6,0.990000), Elem(77,7,0.009900), Elem(77,8,0.004950), Elem(80,0,0.001439), + Elem(80,1,0.001683), Elem(80,2,0.002030), Elem(80,3,0.002575), Elem(80,4,0.013300), Elem(80,5,0.005050), Elem(80,6,0.009950), Elem(80,7,0.990033), Elem(80,8,0.009925), + Elem(85,0,0.001312), Elem(85,1,0.001564), Elem(85,2,0.016612), Elem(85,3,0.002130), Elem(85,4,0.002550), Elem(85,5,0.003350), Elem(85,6,0.004987), Elem(85,7,0.009930), + Elem(85,8,0.990025), }, + { Elem(2,0,0.000150), Elem(2,1,0.000299), Elem(2,2,0.029925), Elem(2,3,0.000299), Elem(2,4,0.000150), Elem(2,5,0.000100), Elem(2,6,0.000075), Elem(2,7,0.000060), + Elem(2,8,0.000050), Elem(9,0,0.000299), Elem(9,1,0.029925), Elem(9,2,0.000299), Elem(9,3,0.000150), Elem(9,4,0.000100), Elem(9,5,0.000075), Elem(9,6,0.000060), + Elem(9,7,0.000050), Elem(9,8,0.000043), Elem(14,0,0.000067), Elem(14,1,0.000100), Elem(14,2,0.000200), Elem(14,3,0.020000), Elem(14,4,0.000200), Elem(14,5,0.000100), + Elem(14,6,0.000067), Elem(14,7,0.000050), Elem(14,8,0.000040), Elem(21,0,0.000050), Elem(21,1,0.000067), Elem(21,2,0.000100), Elem(21,3,0.000200), Elem(21,4,0.020000), + Elem(21,5,0.000200), Elem(21,6,0.000100), Elem(21,7,0.000067), Elem(21,8,0.000050), Elem(26,0,0.015002), Elem(26,1,0.000200), Elem(26,2,0.000141), Elem(26,3,0.000150), + Elem(26,4,0.000237), Elem(26,5,0.020030), Elem(26,6,0.000225), Elem(26,7,0.000121), Elem(26,8,0.000085), Elem(30,0,0.000033), Elem(30,1,0.000040), Elem(30,2,0.000050), + Elem(30,3,0.000067), Elem(30,4,0.000100), Elem(30,5,0.000200), Elem(30,6,0.020000), Elem(30,7,0.000200), Elem(30,8,0.000100), Elem(31,2,0.000017), Elem(31,3,0.000020), + Elem(31,4,0.000025), Elem(31,5,0.000033), Elem(31,6,0.000050), Elem(31,7,0.000100), Elem(31,8,0.010000), Elem(33,0,0.000029), Elem(33,1,0.000033), Elem(33,2,0.000040), + Elem(33,3,0.000050), Elem(33,4,0.000067), Elem(33,5,0.000100), Elem(33,6,0.000200), Elem(33,7,0.020000), Elem(33,8,0.000200), Elem(38,0,1.481273), Elem(38,1,0.014813), + Elem(38,2,0.007406), Elem(38,3,0.004938), Elem(38,4,0.003703), Elem(38,5,0.002963), Elem(38,6,0.002469), Elem(38,7,0.002116), Elem(38,8,0.001852), Elem(43,2,0.000017), + Elem(43,3,0.000020), Elem(43,4,0.000025), Elem(43,5,0.000033), Elem(43,6,0.000050), Elem(43,7,0.000100), Elem(43,8,0.010000), Elem(45,0,0.015112), Elem(45,1,0.015112), + Elem(45,2,0.000224), Elem(45,3,0.000125), Elem(45,4,0.000087), Elem(45,5,0.000067), Elem(45,6,0.000055), Elem(45,7,0.000046), Elem(45,8,0.000040), Elem(50,0,0.007419), + Elem(50,1,0.014827), Elem(50,2,1.481290), Elem(50,3,0.014833), Elem(50,4,0.007431), Elem(50,5,0.004971), Elem(50,6,0.003753), Elem(50,7,0.003063), Elem(50,8,0.012469), + Elem(57,0,0.014813), Elem(57,1,1.481273), Elem(57,2,0.014813), Elem(57,3,0.007406), Elem(57,4,0.004938), Elem(57,5,0.003703), Elem(57,6,0.002963), Elem(57,7,0.002469), + Elem(57,8,0.002116), Elem(62,0,0.003320), Elem(62,1,0.004975), Elem(62,2,0.009933), Elem(62,3,0.990050), Elem(62,4,0.010000), Elem(62,5,0.014950), Elem(62,6,0.003400), + Elem(62,7,0.002525), Elem(62,8,0.002013), Elem(66,0,0.000017), Elem(66,1,0.000020), Elem(66,2,0.000025), Elem(66,3,0.000033), Elem(66,4,0.000050), Elem(66,5,0.000100), + Elem(66,6,0.010000), Elem(66,7,0.000100), Elem(66,8,0.000050), Elem(69,0,0.002489), Elem(69,1,0.003317), Elem(69,2,0.004970), Elem(69,3,0.009925), Elem(69,4,0.990033), + Elem(69,5,0.009950), Elem(69,6,0.005050), Elem(69,7,0.013300), Elem(69,8,0.002575), Elem(74,0,0.002013), Elem(74,1,0.002525), Elem(74,2,0.003400), Elem(74,3,0.014950), + Elem(74,4,0.010000), Elem(74,5,0.990050), Elem(74,6,0.009933), Elem(74,7,0.004975), Elem(74,8,0.003320), Elem(78,0,0.001650), Elem(78,1,0.001980), Elem(78,2,0.002475), + Elem(78,3,0.003300), Elem(78,4,0.004950), Elem(78,5,0.009900), Elem(78,6,0.990000), Elem(78,7,0.009900), Elem(78,8,0.004950), Elem(81,0,0.001439), Elem(81,1,0.001683), + Elem(81,2,0.002030), Elem(81,3,0.002575), Elem(81,4,0.013300), Elem(81,5,0.005050), Elem(81,6,0.009950), Elem(81,7,0.990033), Elem(81,8,0.009925), Elem(86,0,0.001312), + Elem(86,1,0.001564), Elem(86,2,0.016612), Elem(86,3,0.002130), Elem(86,4,0.002550), Elem(86,5,0.003350), Elem(86,6,0.004987), Elem(86,7,0.009930), Elem(86,8,0.990025), + }, + { Elem(3,0,0.000150), Elem(3,1,0.000299), Elem(3,2,0.029925), Elem(3,3,0.000299), Elem(3,4,0.000150), Elem(3,5,0.000100), Elem(3,6,0.000075), Elem(3,7,0.000060), + Elem(3,8,0.000050), Elem(10,0,0.000299), Elem(10,1,0.029925), Elem(10,2,0.000299), Elem(10,3,0.000150), Elem(10,4,0.000100), Elem(10,5,0.000075), Elem(10,6,0.000060), + Elem(10,7,0.000050), Elem(10,8,0.000043), Elem(15,0,0.000045), Elem(15,1,0.000067), Elem(15,2,0.000134), Elem(15,3,0.013367), Elem(15,4,0.000134), Elem(15,5,0.000067), + Elem(15,6,0.000045), Elem(15,7,0.000033), Elem(15,8,0.000027), Elem(22,0,0.000050), Elem(22,1,0.000067), Elem(22,2,0.000100), Elem(22,3,0.000200), Elem(22,4,0.020000), + Elem(22,5,0.000200), Elem(22,6,0.000100), Elem(22,7,0.000067), Elem(22,8,0.000050), Elem(27,0,0.014982), Elem(27,1,0.000175), Elem(27,2,0.000108), Elem(27,3,0.000100), + Elem(27,4,0.000137), Elem(27,5,0.010030), Elem(27,6,0.000125), Elem(27,7,0.000071), Elem(27,8,0.000052), Elem(29,0,0.000020), Elem(29,1,0.000025), Elem(29,2,0.000033), + Elem(29,3,0.000050), Elem(29,4,0.000100), Elem(29,5,0.010000), Elem(29,6,0.000100), Elem(29,7,0.000050), Elem(29,8,0.000033), Elem(31,0,0.000033), Elem(31,1,0.000040), + Elem(31,2,0.000050), Elem(31,3,0.000067), Elem(31,4,0.000100), Elem(31,5,0.000200), Elem(31,6,0.020000), Elem(31,7,0.000200), Elem(31,8,0.000100), Elem(32,2,0.000017), + Elem(32,3,0.000020), Elem(32,4,0.000025), Elem(32,5,0.000033), Elem(32,6,0.000050), Elem(32,7,0.000100), Elem(32,8,0.010000), Elem(34,0,0.000029), Elem(34,1,0.000033), + Elem(34,2,0.000040), Elem(34,3,0.000050), Elem(34,4,0.000067), Elem(34,5,0.000100), Elem(34,6,0.000200), Elem(34,7,0.020000), Elem(34,8,0.000200), Elem(39,0,1.481273), + Elem(39,1,0.014813), Elem(39,2,0.007406), Elem(39,3,0.004938), Elem(39,4,0.003703), Elem(39,5,0.002963), Elem(39,6,0.002469), Elem(39,7,0.002116), Elem(39,8,0.001852), + Elem(44,2,0.000017), Elem(44,3,0.000020), Elem(44,4,0.000025), Elem(44,5,0.000033), Elem(44,6,0.000050), Elem(44,7,0.000100), Elem(44,8,0.010000), Elem(46,0,0.015112), + Elem(46,1,0.015112), Elem(46,2,0.000224), Elem(46,3,0.000125), Elem(46,4,0.000087), Elem(46,5,0.000067), Elem(46,6,0.000055), Elem(46,7,0.000046), Elem(46,8,0.000040), + Elem(51,0,0.007419), Elem(51,1,0.014827), Elem(51,2,1.481290), Elem(51,3,0.014833), Elem(51,4,0.007431), Elem(51,5,0.004971), Elem(51,6,0.003753), Elem(51,7,0.003063), + Elem(51,8,0.012469), Elem(58,0,0.014813), Elem(58,1,1.481273), Elem(58,2,0.014813), Elem(58,3,0.007406), Elem(58,4,0.004938), Elem(58,5,0.003703), Elem(58,6,0.002963), + Elem(58,7,0.002469), Elem(58,8,0.002116), Elem(63,0,0.002206), Elem(63,1,0.003308), Elem(63,2,0.006617), Elem(63,3,0.661660), Elem(63,4,0.006617), Elem(63,5,0.003308), + Elem(63,6,0.002206), Elem(63,7,0.001654), Elem(63,8,0.001323), Elem(65,0,0.000020), Elem(65,1,0.000025), Elem(65,2,0.000033), Elem(65,3,0.000050), Elem(65,4,0.000100), + Elem(65,5,0.010000), Elem(65,6,0.000100), Elem(65,7,0.000050), Elem(65,8,0.000033), Elem(67,0,0.000017), Elem(67,1,0.000020), Elem(67,2,0.000025), Elem(67,3,0.000033), + Elem(67,4,0.000050), Elem(67,5,0.000100), Elem(67,6,0.010000), Elem(67,7,0.000100), Elem(67,8,0.000050), Elem(70,0,0.002489), Elem(70,1,0.003317), Elem(70,2,0.004970), + Elem(70,3,0.009925), Elem(70,4,0.990033), Elem(70,5,0.009950), Elem(70,6,0.005050), Elem(70,7,0.013300), Elem(70,8,0.002575), Elem(75,0,0.002002), Elem(75,1,0.002508), + Elem(75,2,0.003367), Elem(75,3,0.011633), Elem(75,4,0.009967), Elem(75,5,0.990033), Elem(75,6,0.009922), Elem(75,7,0.004967), Elem(75,8,0.003313), Elem(79,0,0.001650), + Elem(79,1,0.001980), Elem(79,2,0.002475), Elem(79,3,0.003300), Elem(79,4,0.004950), Elem(79,5,0.009900), Elem(79,6,0.990000), Elem(79,7,0.009900), Elem(79,8,0.004950), + Elem(82,0,0.001439), Elem(82,1,0.001683), Elem(82,2,0.002030), Elem(82,3,0.002575), Elem(82,4,0.013300), Elem(82,5,0.005050), Elem(82,6,0.009950), Elem(82,7,0.990033), + Elem(82,8,0.009925), Elem(87,0,0.001312), Elem(87,1,0.001564), Elem(87,2,0.016612), Elem(87,3,0.002130), Elem(87,4,0.002550), Elem(87,5,0.003350), Elem(87,6,0.004987), + Elem(87,7,0.009930), Elem(87,8,0.990025), }, + { Elem(4,0,0.000150), Elem(4,1,0.000299), Elem(4,2,0.029925), Elem(4,3,0.000299), Elem(4,4,0.000150), Elem(4,5,0.000100), Elem(4,6,0.000075), Elem(4,7,0.000060), + Elem(4,8,0.000050), Elem(11,0,0.000299), Elem(11,1,0.029925), Elem(11,2,0.000299), Elem(11,3,0.000150), Elem(11,4,0.000100), Elem(11,5,0.000075), Elem(11,6,0.000060), + Elem(11,7,0.000050), Elem(11,8,0.000043), Elem(16,0,0.000045), Elem(16,1,0.000067), Elem(16,2,0.000134), Elem(16,3,0.013367), Elem(16,4,0.000134), Elem(16,5,0.000067), + Elem(16,6,0.000045), Elem(16,7,0.000033), Elem(16,8,0.000027), Elem(23,0,0.000033), Elem(23,1,0.000045), Elem(23,2,0.000067), Elem(23,3,0.000134), Elem(23,4,0.013367), + Elem(23,5,0.000134), Elem(23,6,0.000067), Elem(23,7,0.000045), Elem(23,8,0.000033), Elem(28,0,0.015002), Elem(28,1,0.000200), Elem(28,2,0.000141), Elem(28,3,0.000150), + Elem(28,4,0.000237), Elem(28,5,0.020030), Elem(28,6,0.000225), Elem(28,7,0.000121), Elem(28,8,0.000085), Elem(32,0,0.000033), Elem(32,1,0.000040), Elem(32,2,0.000050), + Elem(32,3,0.000067), Elem(32,4,0.000100), Elem(32,5,0.000200), Elem(32,6,0.020000), Elem(32,7,0.000200), Elem(32,8,0.000100), Elem(33,2,0.000017), Elem(33,3,0.000020), + Elem(33,4,0.000025), Elem(33,5,0.000033), Elem(33,6,0.000050), Elem(33,7,0.000100), Elem(33,8,0.010000), Elem(35,0,0.000029), Elem(35,1,0.000033), Elem(35,2,0.000040), + Elem(35,3,0.000050), Elem(35,4,0.000067), Elem(35,5,0.000100), Elem(35,6,0.000200), Elem(35,7,0.020000), Elem(35,8,0.000200), Elem(40,0,1.481273), Elem(40,1,0.014813), + Elem(40,2,0.007406), Elem(40,3,0.004938), Elem(40,4,0.003703), Elem(40,5,0.002963), Elem(40,6,0.002469), Elem(40,7,0.002116), Elem(40,8,0.001852), Elem(45,2,0.000017), + Elem(45,3,0.000020), Elem(45,4,0.000025), Elem(45,5,0.000033), Elem(45,6,0.000050), Elem(45,7,0.000100), Elem(45,8,0.010000), Elem(47,0,0.015112), Elem(47,1,0.015112), + Elem(47,2,0.000224), Elem(47,3,0.000125), Elem(47,4,0.000087), Elem(47,5,0.000067), Elem(47,6,0.000055), Elem(47,7,0.000046), Elem(47,8,0.000040), Elem(52,0,0.007419), + Elem(52,1,0.014827), Elem(52,2,1.481290), Elem(52,3,0.014833), Elem(52,4,0.007431), Elem(52,5,0.004971), Elem(52,6,0.003753), Elem(52,7,0.003063), Elem(52,8,0.012469), + Elem(59,0,0.014813), Elem(59,1,1.481273), Elem(59,2,0.014813), Elem(59,3,0.007406), Elem(59,4,0.004938), Elem(59,5,0.003703), Elem(59,6,0.002963), Elem(59,7,0.002469), + Elem(59,8,0.002116), Elem(64,0,0.002226), Elem(64,1,0.003333), Elem(64,2,0.006650), Elem(64,3,0.661711), Elem(64,4,0.006717), Elem(64,5,0.013308), Elem(64,6,0.002306), + Elem(64,7,0.001704), Elem(64,8,0.001357), Elem(68,0,0.000017), Elem(68,1,0.000020), Elem(68,2,0.000025), Elem(68,3,0.000033), Elem(68,4,0.000050), Elem(68,5,0.000100), + Elem(68,6,0.010000), Elem(68,7,0.000100), Elem(68,8,0.000050), Elem(71,0,0.001668), Elem(71,1,0.002222), Elem(71,2,0.003328), Elem(71,3,0.006642), Elem(71,4,0.661694), + Elem(71,5,0.006667), Elem(71,6,0.003408), Elem(71,7,0.012206), Elem(71,8,0.001754), Elem(76,0,0.002002), Elem(76,1,0.002508), Elem(76,2,0.003367), Elem(76,3,0.011633), + Elem(76,4,0.009967), Elem(76,5,0.990033), Elem(76,6,0.009922), Elem(76,7,0.004967), Elem(76,8,0.003313), Elem(80,0,0.001650), Elem(80,1,0.001980), Elem(80,2,0.002475), + Elem(80,3,0.003300), Elem(80,4,0.004950), Elem(80,5,0.009900), Elem(80,6,0.990000), Elem(80,7,0.009900), Elem(80,8,0.004950), Elem(83,0,0.001431), Elem(83,1,0.001672), + Elem(83,2,0.002013), Elem(83,3,0.002542), Elem(83,4,0.009983), Elem(83,5,0.005017), Elem(83,6,0.009933), Elem(83,7,0.990022), Elem(83,8,0.009917), Elem(88,0,0.001312), + Elem(88,1,0.001564), Elem(88,2,0.016612), Elem(88,3,0.002130), Elem(88,4,0.002550), Elem(88,5,0.003350), Elem(88,6,0.004987), Elem(88,7,0.009930), Elem(88,8,0.990025), + }, + { Elem(5,0,0.000150), Elem(5,1,0.000299), Elem(5,2,0.029925), Elem(5,3,0.000299), Elem(5,4,0.000150), Elem(5,5,0.000100), Elem(5,6,0.000075), Elem(5,7,0.000060), + Elem(5,8,0.000050), Elem(12,0,0.000299), Elem(12,1,0.029925), Elem(12,2,0.000299), Elem(12,3,0.000150), Elem(12,4,0.000100), Elem(12,5,0.000075), Elem(12,6,0.000060), + Elem(12,7,0.000050), Elem(12,8,0.000043), Elem(17,0,0.000045), Elem(17,1,0.000067), Elem(17,2,0.000134), Elem(17,3,0.013367), Elem(17,4,0.000134), Elem(17,5,0.000067), + Elem(17,6,0.000045), Elem(17,7,0.000033), Elem(17,8,0.000027), Elem(24,0,0.000033), Elem(24,1,0.000045), Elem(24,2,0.000067), Elem(24,3,0.000134), Elem(24,4,0.013367), + Elem(24,5,0.000134), Elem(24,6,0.000067), Elem(24,7,0.000045), Elem(24,8,0.000033), Elem(29,0,0.014976), Elem(29,1,0.000166), Elem(29,2,0.000097), Elem(29,3,0.000083), + Elem(29,4,0.000104), Elem(29,5,0.006713), Elem(29,6,0.000092), Elem(29,7,0.000055), Elem(29,8,0.000041), Elem(33,0,0.000033), Elem(33,1,0.000040), Elem(33,2,0.000050), + Elem(33,3,0.000067), Elem(33,4,0.000100), Elem(33,5,0.000200), Elem(33,6,0.020000), Elem(33,7,0.000200), Elem(33,8,0.000100), Elem(34,2,0.000017), Elem(34,3,0.000020), + Elem(34,4,0.000025), Elem(34,5,0.000033), Elem(34,6,0.000050), Elem(34,7,0.000100), Elem(34,8,0.010000), Elem(41,0,1.481302), Elem(41,1,0.014846), Elem(41,2,0.007446), + Elem(41,3,0.004988), Elem(41,4,0.003770), Elem(41,5,0.003063), Elem(41,6,0.002669), Elem(41,7,0.022116), Elem(41,8,0.002052), Elem(46,2,0.000017), Elem(46,3,0.000020), + Elem(46,4,0.000025), Elem(46,5,0.000033), Elem(46,6,0.000050), Elem(46,7,0.000100), Elem(46,8,0.010000), Elem(53,0,0.007419), Elem(53,1,0.014827), Elem(53,2,1.481290), + Elem(53,3,0.014833), Elem(53,4,0.007431), Elem(53,5,0.004971), Elem(53,6,0.003753), Elem(53,7,0.003063), Elem(53,8,0.012469), Elem(60,0,0.014829), Elem(60,1,1.481296), + Elem(60,2,0.014846), Elem(60,3,0.007473), Elem(60,4,0.011621), Elem(60,5,0.003770), Elem(60,6,0.002996), Elem(60,7,0.002491), Elem(60,8,0.002133), Elem(65,0,0.002206), + Elem(65,1,0.003308), Elem(65,2,0.006617), Elem(65,3,0.661660), Elem(65,4,0.006617), Elem(65,5,0.003308), Elem(65,6,0.002206), Elem(65,7,0.001654), Elem(65,8,0.001323), + Elem(69,0,0.000017), Elem(69,1,0.000020), Elem(69,2,0.000025), Elem(69,3,0.000033), Elem(69,4,0.000050), Elem(69,5,0.000100), Elem(69,6,0.010000), Elem(69,7,0.000100), + Elem(69,8,0.000050), Elem(72,0,0.001804), Elem(72,1,0.017168), Elem(72,2,0.003458), Elem(72,3,0.006691), Elem(72,4,0.661710), Elem(72,5,0.006654), Elem(72,6,0.003338), + Elem(72,7,0.002230), Elem(72,8,0.001676), Elem(75,0,0.000022), Elem(75,1,0.000033), Elem(75,2,0.000067), Elem(75,3,0.006683), Elem(75,4,0.000067), Elem(75,5,0.000033), + Elem(75,6,0.000022), Elem(75,7,0.000017), Elem(77,0,0.001323), Elem(77,1,0.001654), Elem(77,2,0.002206), Elem(77,3,0.003308), Elem(77,4,0.006617), Elem(77,5,0.661660), + Elem(77,6,0.006617), Elem(77,7,0.003308), Elem(77,8,0.002206), Elem(81,0,0.001650), Elem(81,1,0.001980), Elem(81,2,0.002475), Elem(81,3,0.003300), Elem(81,4,0.004950), + Elem(81,5,0.009900), Elem(81,6,0.990000), Elem(81,7,0.009900), Elem(81,8,0.004950), Elem(84,0,0.031339), Elem(84,1,0.001949), Elem(84,2,0.002130), Elem(84,3,0.002575), + Elem(84,4,0.003375), Elem(84,5,0.005010), Elem(84,6,0.009950), Elem(84,7,0.990043), Elem(84,8,0.009937), Elem(89,0,0.001312), Elem(89,1,0.001564), Elem(89,2,0.016612), + Elem(89,3,0.002130), Elem(89,4,0.002550), Elem(89,5,0.003350), Elem(89,6,0.004987), Elem(89,7,0.009930), Elem(89,8,0.990025), }, + { Elem(6,0,0.000150), Elem(6,1,0.000299), Elem(6,2,0.029925), Elem(6,3,0.000299), Elem(6,4,0.000150), Elem(6,5,0.000100), Elem(6,6,0.000075), Elem(6,7,0.000060), + Elem(6,8,0.000050), Elem(13,0,0.000299), Elem(13,1,0.029925), Elem(13,2,0.000299), Elem(13,3,0.000150), Elem(13,4,0.000100), Elem(13,5,0.000075), Elem(13,6,0.000060), + Elem(13,7,0.000050), Elem(13,8,0.000043), Elem(18,0,0.000045), Elem(18,1,0.000067), Elem(18,2,0.000134), Elem(18,3,0.013367), Elem(18,4,0.000134), Elem(18,5,0.000067), + Elem(18,6,0.000045), Elem(18,7,0.000033), Elem(18,8,0.000027), Elem(25,0,0.000033), Elem(25,1,0.000045), Elem(25,2,0.000067), Elem(25,3,0.000134), Elem(25,4,0.013367), + Elem(25,5,0.000134), Elem(25,6,0.000067), Elem(25,7,0.000045), Elem(25,8,0.000033), Elem(30,0,0.014989), Elem(30,1,0.000183), Elem(30,2,0.000119), Elem(30,3,0.000117), + Elem(30,4,0.000171), Elem(30,5,0.013397), Elem(30,6,0.000159), Elem(30,7,0.000088), Elem(30,8,0.000063), Elem(34,0,0.000022), Elem(34,1,0.000027), Elem(34,2,0.000033), + Elem(34,3,0.000045), Elem(34,4,0.000067), Elem(34,5,0.000134), Elem(34,6,0.013367), Elem(34,7,0.000134), Elem(34,8,0.000067), Elem(35,2,0.000017), Elem(35,3,0.000020), + Elem(35,4,0.000025), Elem(35,5,0.000033), Elem(35,6,0.000050), Elem(35,7,0.000100), Elem(35,8,0.010000), Elem(42,0,1.481302), Elem(42,1,0.014846), Elem(42,2,0.007446), + Elem(42,3,0.004988), Elem(42,4,0.003770), Elem(42,5,0.003063), Elem(42,6,0.002669), Elem(42,7,0.022116), Elem(42,8,0.002052), Elem(47,2,0.000017), Elem(47,3,0.000020), + Elem(47,4,0.000025), Elem(47,5,0.000033), Elem(47,6,0.000050), Elem(47,7,0.000100), Elem(47,8,0.010000), Elem(49,1,0.000017), Elem(49,2,0.000020), Elem(49,3,0.000025), + Elem(49,4,0.000033), Elem(49,5,0.000050), Elem(49,6,0.000100), Elem(49,7,0.010000), Elem(49,8,0.000100), Elem(54,0,0.007419), Elem(54,1,0.014827), Elem(54,2,1.481290), + Elem(54,3,0.014833), Elem(54,4,0.007431), Elem(54,5,0.004971), Elem(54,6,0.003753), Elem(54,7,0.003063), Elem(54,8,0.012469), Elem(61,0,0.014829), Elem(61,1,1.481296), + Elem(61,2,0.014846), Elem(61,3,0.007473), Elem(61,4,0.011621), Elem(61,5,0.003770), Elem(61,6,0.002996), Elem(61,7,0.002491), Elem(61,8,0.002133), Elem(66,0,0.002219), + Elem(66,1,0.003325), Elem(66,2,0.006639), Elem(66,3,0.661694), Elem(66,4,0.006683), Elem(66,5,0.009992), Elem(66,6,0.002272), Elem(66,7,0.001688), Elem(66,8,0.001346), + Elem(70,2,0.000017), Elem(70,3,0.000022), Elem(70,4,0.000033), Elem(70,5,0.000067), Elem(70,6,0.006683), Elem(70,7,0.000067), Elem(70,8,0.000033), Elem(73,0,0.001804), + Elem(73,1,0.017168), Elem(73,2,0.003458), Elem(73,3,0.006691), Elem(73,4,0.661710), Elem(73,5,0.006654), Elem(73,6,0.003338), Elem(73,7,0.002230), Elem(73,8,0.001676), + Elem(78,0,0.001346), Elem(78,1,0.001688), Elem(78,2,0.002272), Elem(78,3,0.009992), Elem(78,4,0.006683), Elem(78,5,0.661694), Elem(78,6,0.006639), Elem(78,7,0.003325), + Elem(78,8,0.002219), Elem(82,0,0.001103), Elem(82,1,0.001323), Elem(82,2,0.001654), Elem(82,3,0.002206), Elem(82,4,0.003308), Elem(82,5,0.006617), Elem(82,6,0.661660), + Elem(82,7,0.006617), Elem(82,8,0.003308), Elem(85,0,0.031339), Elem(85,1,0.001949), Elem(85,2,0.002130), Elem(85,3,0.002575), Elem(85,4,0.003375), Elem(85,5,0.005010), + Elem(85,6,0.009950), Elem(85,7,0.990043), Elem(85,8,0.009937), Elem(90,0,0.001312), Elem(90,1,0.001564), Elem(90,2,0.016612), Elem(90,3,0.002130), Elem(90,4,0.002550), + Elem(90,5,0.003350), Elem(90,6,0.004987), Elem(90,7,0.009930), Elem(90,8,0.990025), }, + { Elem(7,0,0.000150), Elem(7,1,0.000299), Elem(7,2,0.029925), Elem(7,3,0.000299), Elem(7,4,0.000150), Elem(7,5,0.000100), Elem(7,6,0.000075), Elem(7,7,0.000060), + Elem(7,8,0.000050), Elem(14,0,0.000299), Elem(14,1,0.029925), Elem(14,2,0.000299), Elem(14,3,0.000150), Elem(14,4,0.000100), Elem(14,5,0.000075), Elem(14,6,0.000060), + Elem(14,7,0.000050), Elem(14,8,0.000043), Elem(19,0,0.000045), Elem(19,1,0.000067), Elem(19,2,0.000134), Elem(19,3,0.013367), Elem(19,4,0.000134), Elem(19,5,0.000067), + Elem(19,6,0.000045), Elem(19,7,0.000033), Elem(19,8,0.000027), Elem(26,0,0.000033), Elem(26,1,0.000045), Elem(26,2,0.000067), Elem(26,3,0.000134), Elem(26,4,0.013367), + Elem(26,5,0.000134), Elem(26,6,0.000067), Elem(26,7,0.000045), Elem(26,8,0.000033), Elem(31,0,0.000047), Elem(31,1,0.000057), Elem(31,2,0.000073), Elem(31,3,0.000101), + Elem(31,4,0.000178), Elem(31,5,0.013430), Elem(31,6,0.000245), Elem(31,7,0.006840), Elem(31,8,0.009045), Elem(35,0,0.000022), Elem(35,1,0.000027), Elem(35,2,0.000033), + Elem(35,3,0.000045), Elem(35,4,0.000067), Elem(35,5,0.000134), Elem(35,6,0.013367), Elem(35,7,0.000134), Elem(35,8,0.000067), Elem(36,0,0.014962), Elem(36,1,0.000150), + Elem(36,2,0.000075), Elem(36,3,0.000050), Elem(36,4,0.000037), Elem(36,5,0.000030), Elem(36,6,0.000025), Elem(36,7,0.000021), Elem(36,8,0.000019), Elem(43,0,1.481358), + Elem(43,1,0.014973), Elem(43,2,0.022382), Elem(43,3,0.005104), Elem(43,4,0.003800), Elem(43,5,0.003046), Elem(43,6,0.002573), Elem(43,7,0.008829), Elem(43,8,0.001943), + Elem(50,3,0.000017), Elem(50,4,0.000022), Elem(50,5,0.000033), Elem(50,6,0.000067), Elem(50,7,0.006683), Elem(50,8,0.000067), Elem(55,0,0.022369), Elem(55,1,0.014962), + Elem(55,2,1.481348), Elem(55,3,0.014863), Elem(55,4,0.007444), Elem(55,5,0.004968), Elem(55,6,0.003728), Elem(55,7,0.002984), Elem(55,8,0.002487), Elem(62,0,0.014829), + Elem(62,1,1.481296), Elem(62,2,0.014846), Elem(62,3,0.007473), Elem(62,4,0.011621), Elem(62,5,0.003770), Elem(62,6,0.002996), Elem(62,7,0.002491), Elem(62,8,0.002133), + Elem(67,0,0.002224), Elem(67,1,0.003331), Elem(67,2,0.006646), Elem(67,3,0.661703), Elem(67,4,0.006695), Elem(67,5,0.010007), Elem(67,6,0.002295), Elem(67,7,0.001732), + Elem(67,8,0.005812), Elem(71,2,0.000017), Elem(71,3,0.000022), Elem(71,4,0.000033), Elem(71,5,0.000067), Elem(71,6,0.006683), Elem(71,7,0.000067), Elem(71,8,0.000033), + Elem(74,0,0.001804), Elem(74,1,0.017168), Elem(74,2,0.003458), Elem(74,3,0.006691), Elem(74,4,0.661710), Elem(74,5,0.006654), Elem(74,6,0.003338), Elem(74,7,0.002230), + Elem(74,8,0.001676), Elem(79,0,0.001898), Elem(79,1,0.002319), Elem(79,2,0.003009), Elem(79,3,0.010876), Elem(79,4,0.007789), Elem(79,5,0.663168), Elem(79,6,0.008850), + Elem(79,7,0.007747), Elem(79,8,0.444436), Elem(83,0,0.001103), Elem(83,1,0.001323), Elem(83,2,0.001654), Elem(83,3,0.002206), Elem(83,4,0.003308), Elem(83,5,0.006617), + Elem(83,6,0.661660), Elem(83,7,0.006617), Elem(83,8,0.003308), Elem(86,0,0.015908), Elem(86,1,0.001252), Elem(86,2,0.001398), Elem(86,3,0.001704), Elem(86,4,0.002243), + Elem(86,5,0.003338), Elem(86,6,0.006642), Elem(86,7,0.661682), Elem(86,8,0.006635), }, + { Elem(8,0,0.000150), Elem(8,1,0.000299), Elem(8,2,0.029925), Elem(8,3,0.000299), Elem(8,4,0.000150), Elem(8,5,0.000100), Elem(8,6,0.000075), Elem(8,7,0.000060), + Elem(8,8,0.000050), Elem(15,0,0.000299), Elem(15,1,0.029925), Elem(15,2,0.000299), Elem(15,3,0.000150), Elem(15,4,0.000100), Elem(15,5,0.000075), Elem(15,6,0.000060), + Elem(15,7,0.000050), Elem(15,8,0.000043), Elem(20,0,0.000045), Elem(20,1,0.000067), Elem(20,2,0.000134), Elem(20,3,0.013367), Elem(20,4,0.000134), Elem(20,5,0.000067), + Elem(20,6,0.000045), Elem(20,7,0.000033), Elem(20,8,0.000027), Elem(27,0,0.000017), Elem(27,1,0.000022), Elem(27,2,0.000033), Elem(27,3,0.000067), Elem(27,4,0.006683), + Elem(27,5,0.000067), Elem(27,6,0.000033), Elem(27,7,0.000022), Elem(27,8,0.000017), Elem(29,0,0.000017), Elem(29,1,0.000022), Elem(29,2,0.000033), Elem(29,3,0.000067), + Elem(29,4,0.006683), Elem(29,5,0.000067), Elem(29,6,0.000033), Elem(29,7,0.000022), Elem(29,8,0.000017), Elem(32,0,0.000047), Elem(32,1,0.000057), Elem(32,2,0.000073), + Elem(32,3,0.000101), Elem(32,4,0.000178), Elem(32,5,0.013430), Elem(32,6,0.000245), Elem(32,7,0.006840), Elem(32,8,0.009045), Elem(33,0,0.014962), Elem(33,1,0.000150), + Elem(33,2,0.000075), Elem(33,3,0.000050), Elem(33,4,0.000037), Elem(33,5,0.000030), Elem(33,6,0.000025), Elem(33,7,0.000021), Elem(33,8,0.000019), Elem(41,0,0.000022), + Elem(41,1,0.000027), Elem(41,2,0.000033), Elem(41,3,0.000045), Elem(41,4,0.000067), Elem(41,5,0.000134), Elem(41,6,0.013367), Elem(41,7,0.000134), Elem(41,8,0.000067), + Elem(44,0,1.481358), Elem(44,1,0.014973), Elem(44,2,0.022382), Elem(44,3,0.005104), Elem(44,4,0.003800), Elem(44,5,0.003046), Elem(44,6,0.002573), Elem(44,7,0.008829), + Elem(44,8,0.001943), Elem(51,3,0.000017), Elem(51,4,0.000022), Elem(51,5,0.000033), Elem(51,6,0.000067), Elem(51,7,0.006683), Elem(51,8,0.000067), Elem(56,0,0.022369), + Elem(56,1,0.014962), Elem(56,2,1.481348), Elem(56,3,0.014863), Elem(56,4,0.007444), Elem(56,5,0.004968), Elem(56,6,0.003728), Elem(56,7,0.002984), Elem(56,8,0.002487), + Elem(63,0,0.014813), Elem(63,1,1.481273), Elem(63,2,0.014813), Elem(63,3,0.007406), Elem(63,4,0.004938), Elem(63,5,0.003703), Elem(63,6,0.002963), Elem(63,7,0.002469), + Elem(63,8,0.002116), Elem(65,0,0.000017), Elem(65,1,0.000022), Elem(65,2,0.000033), Elem(65,3,0.000067), Elem(65,4,0.006683), Elem(65,5,0.000067), Elem(65,6,0.000033), + Elem(65,7,0.000022), Elem(65,8,0.000017), Elem(68,0,0.002224), Elem(68,1,0.003331), Elem(68,2,0.006646), Elem(68,3,0.661703), Elem(68,4,0.006695), Elem(68,5,0.010007), + Elem(68,6,0.002295), Elem(68,7,0.001732), Elem(68,8,0.005812), Elem(75,0,0.001804), Elem(75,1,0.017168), Elem(75,2,0.003458), Elem(75,3,0.006691), Elem(75,4,0.661710), + Elem(75,5,0.006654), Elem(75,6,0.003338), Elem(75,7,0.002230), Elem(75,8,0.001676), Elem(80,0,0.001898), Elem(80,1,0.002319), Elem(80,2,0.003009), Elem(80,3,0.010876), + Elem(80,4,0.007789), Elem(80,5,0.663168), Elem(80,6,0.008850), Elem(80,7,0.007747), Elem(80,8,0.444436), Elem(84,0,0.001103), Elem(84,1,0.001323), Elem(84,2,0.001654), + Elem(84,3,0.002206), Elem(84,4,0.003308), Elem(84,5,0.006617), Elem(84,6,0.661660), Elem(84,7,0.006617), Elem(84,8,0.003308), Elem(87,0,0.015908), Elem(87,1,0.001252), + Elem(87,2,0.001398), Elem(87,3,0.001704), Elem(87,4,0.002243), Elem(87,5,0.003338), Elem(87,6,0.006642), Elem(87,7,0.661682), Elem(87,8,0.006635), }, + { Elem(9,0,0.000150), Elem(9,1,0.000299), Elem(9,2,0.029925), Elem(9,3,0.000299), Elem(9,4,0.000150), Elem(9,5,0.000100), Elem(9,6,0.000075), Elem(9,7,0.000060), + Elem(9,8,0.000050), Elem(16,0,0.000299), Elem(16,1,0.029925), Elem(16,2,0.000299), Elem(16,3,0.000150), Elem(16,4,0.000100), Elem(16,5,0.000075), Elem(16,6,0.000060), + Elem(16,7,0.000050), Elem(16,8,0.000043), Elem(21,0,0.000045), Elem(21,1,0.000067), Elem(21,2,0.000134), Elem(21,3,0.013367), Elem(21,4,0.000134), Elem(21,5,0.000067), + Elem(21,6,0.000045), Elem(21,7,0.000033), Elem(21,8,0.000027), Elem(28,0,0.000033), Elem(28,1,0.000045), Elem(28,2,0.000067), Elem(28,3,0.000134), Elem(28,4,0.013367), + Elem(28,5,0.000134), Elem(28,6,0.000067), Elem(28,7,0.000045), Elem(28,8,0.000033), Elem(33,0,0.000047), Elem(33,1,0.000057), Elem(33,2,0.000073), Elem(33,3,0.000101), + Elem(33,4,0.000178), Elem(33,5,0.013430), Elem(33,6,0.000245), Elem(33,7,0.006840), Elem(33,8,0.009045), Elem(38,0,0.014962), Elem(38,1,0.000150), Elem(38,2,0.000075), + Elem(38,3,0.000050), Elem(38,4,0.000037), Elem(38,5,0.000030), Elem(38,6,0.000025), Elem(38,7,0.000021), Elem(38,8,0.000019), Elem(42,0,0.000022), Elem(42,1,0.000027), + Elem(42,2,0.000033), Elem(42,3,0.000045), Elem(42,4,0.000067), Elem(42,5,0.000134), Elem(42,6,0.013367), Elem(42,7,0.000134), Elem(42,8,0.000067), Elem(45,0,1.481358), + Elem(45,1,0.014973), Elem(45,2,0.022382), Elem(45,3,0.005104), Elem(45,4,0.003800), Elem(45,5,0.003046), Elem(45,6,0.002573), Elem(45,7,0.008829), Elem(45,8,0.001943), + Elem(49,2,0.000017), Elem(49,3,0.000022), Elem(49,4,0.000033), Elem(49,5,0.000067), Elem(49,6,0.006683), Elem(49,7,0.000067), Elem(49,8,0.000033), Elem(52,3,0.000017), + Elem(52,4,0.000022), Elem(52,5,0.000033), Elem(52,6,0.000067), Elem(52,7,0.006683), Elem(52,8,0.000067), Elem(57,0,0.022369), Elem(57,1,0.014962), Elem(57,2,1.481348), + Elem(57,3,0.014863), Elem(57,4,0.007444), Elem(57,5,0.004968), Elem(57,6,0.003728), Elem(57,7,0.002984), Elem(57,8,0.002487), Elem(64,0,0.014829), Elem(64,1,1.481296), + Elem(64,2,0.014846), Elem(64,3,0.007473), Elem(64,4,0.011621), Elem(64,5,0.003770), Elem(64,6,0.002996), Elem(64,7,0.002491), Elem(64,8,0.002133), Elem(69,0,0.002224), + Elem(69,1,0.003331), Elem(69,2,0.006646), Elem(69,3,0.661703), Elem(69,4,0.006695), Elem(69,5,0.010007), Elem(69,6,0.002295), Elem(69,7,0.001732), Elem(69,8,0.005812), + Elem(76,0,0.001804), Elem(76,1,0.017168), Elem(76,2,0.003458), Elem(76,3,0.006691), Elem(76,4,0.661710), Elem(76,5,0.006654), Elem(76,6,0.003338), Elem(76,7,0.002230), + Elem(76,8,0.001676), Elem(81,0,0.001898), Elem(81,1,0.002319), Elem(81,2,0.003009), Elem(81,3,0.010876), Elem(81,4,0.007789), Elem(81,5,0.663168), Elem(81,6,0.008850), + Elem(81,7,0.007747), Elem(81,8,0.444436), Elem(85,0,0.001103), Elem(85,1,0.001323), Elem(85,2,0.001654), Elem(85,3,0.002206), Elem(85,4,0.003308), Elem(85,5,0.006617), + Elem(85,6,0.661660), Elem(85,7,0.006617), Elem(85,8,0.003308), Elem(88,0,0.015908), Elem(88,1,0.001252), Elem(88,2,0.001398), Elem(88,3,0.001704), Elem(88,4,0.002243), + Elem(88,5,0.003338), Elem(88,6,0.006642), Elem(88,7,0.661682), Elem(88,8,0.006635), }, + { Elem(10,0,0.000150), Elem(10,1,0.000299), Elem(10,2,0.029925), Elem(10,3,0.000299), Elem(10,4,0.000150), Elem(10,5,0.000100), Elem(10,6,0.000075), Elem(10,7,0.000060), + Elem(10,8,0.000050), Elem(17,0,0.000299), Elem(17,1,0.029925), Elem(17,2,0.000299), Elem(17,3,0.000150), Elem(17,4,0.000100), Elem(17,5,0.000075), Elem(17,6,0.000060), + Elem(17,7,0.000050), Elem(17,8,0.000043), Elem(22,0,0.000045), Elem(22,1,0.000067), Elem(22,2,0.000134), Elem(22,3,0.013367), Elem(22,4,0.000134), Elem(22,5,0.000067), + Elem(22,6,0.000045), Elem(22,7,0.000033), Elem(22,8,0.000027), Elem(29,0,0.000017), Elem(29,1,0.000022), Elem(29,2,0.000033), Elem(29,3,0.000067), Elem(29,4,0.006683), + Elem(29,5,0.000067), Elem(29,6,0.000033), Elem(29,7,0.000022), Elem(29,8,0.000017), Elem(31,2,0.000017), Elem(31,3,0.000022), Elem(31,4,0.000033), Elem(31,5,0.000067), + Elem(31,6,0.006683), Elem(31,7,0.000067), Elem(31,8,0.000033), Elem(34,0,0.000047), Elem(34,1,0.000057), Elem(34,2,0.000073), Elem(34,3,0.000101), Elem(34,4,0.000178), + Elem(34,5,0.013430), Elem(34,6,0.000245), Elem(34,7,0.006840), Elem(34,8,0.009045), Elem(39,0,0.014962), Elem(39,1,0.000150), Elem(39,2,0.000075), Elem(39,3,0.000050), + Elem(39,4,0.000037), Elem(39,5,0.000030), Elem(39,6,0.000025), Elem(39,7,0.000021), Elem(39,8,0.000019), Elem(43,2,0.000017), Elem(43,3,0.000022), Elem(43,4,0.000033), + Elem(43,5,0.000067), Elem(43,6,0.006683), Elem(43,7,0.000067), Elem(43,8,0.000033), Elem(46,0,1.481358), Elem(46,1,0.014973), Elem(46,2,0.022382), Elem(46,3,0.005104), + Elem(46,4,0.003800), Elem(46,5,0.003046), Elem(46,6,0.002573), Elem(46,7,0.008829), Elem(46,8,0.001943), Elem(50,2,0.000017), Elem(50,3,0.000022), Elem(50,4,0.000033), + Elem(50,5,0.000067), Elem(50,6,0.006683), Elem(50,7,0.000067), Elem(50,8,0.000033), Elem(53,3,0.000017), Elem(53,4,0.000022), Elem(53,5,0.000033), Elem(53,6,0.000067), + Elem(53,7,0.006683), Elem(53,8,0.000067), Elem(58,0,0.022369), Elem(58,1,0.014962), Elem(58,2,1.481348), Elem(58,3,0.014863), Elem(58,4,0.007444), Elem(58,5,0.004968), + Elem(58,6,0.003728), Elem(58,7,0.002984), Elem(58,8,0.002487), Elem(65,0,0.014813), Elem(65,1,1.481273), Elem(65,2,0.014813), Elem(65,3,0.007406), Elem(65,4,0.004938), + Elem(65,5,0.003703), Elem(65,6,0.002963), Elem(65,7,0.002469), Elem(65,8,0.002116), Elem(70,0,0.002224), Elem(70,1,0.003331), Elem(70,2,0.006646), Elem(70,3,0.661703), + Elem(70,4,0.006695), Elem(70,5,0.010007), Elem(70,6,0.002295), Elem(70,7,0.001732), Elem(70,8,0.005812), Elem(75,0,0.000150), Elem(75,1,0.014962), Elem(75,2,0.000150), + Elem(75,3,0.000075), Elem(75,4,0.000050), Elem(75,5,0.000037), Elem(75,6,0.000030), Elem(75,7,0.000025), Elem(75,8,0.000021), Elem(77,0,0.001654), Elem(77,1,0.002206), + Elem(77,2,0.003308), Elem(77,3,0.006617), Elem(77,4,0.661660), Elem(77,5,0.006617), Elem(77,6,0.003308), Elem(77,7,0.002206), Elem(77,8,0.001654), Elem(82,0,0.001898), + Elem(82,1,0.002319), Elem(82,2,0.003009), Elem(82,3,0.010876), Elem(82,4,0.007789), Elem(82,5,0.663168), Elem(82,6,0.008850), Elem(82,7,0.007747), Elem(82,8,0.444436), + Elem(86,0,0.001103), Elem(86,1,0.001323), Elem(86,2,0.001654), Elem(86,3,0.002206), Elem(86,4,0.003308), Elem(86,5,0.006617), Elem(86,6,0.661660), Elem(86,7,0.006617), + Elem(86,8,0.003308), Elem(89,0,0.015908), Elem(89,1,0.001252), Elem(89,2,0.001398), Elem(89,3,0.001704), Elem(89,4,0.002243), Elem(89,5,0.003338), Elem(89,6,0.006642), + Elem(89,7,0.661682), Elem(89,8,0.006635), }, + { Elem(11,0,0.000150), Elem(11,1,0.000299), Elem(11,2,0.029925), Elem(11,3,0.000299), Elem(11,4,0.000150), Elem(11,5,0.000100), Elem(11,6,0.000075), Elem(11,7,0.000060), + Elem(11,8,0.000050), Elem(18,0,0.000299), Elem(18,1,0.029925), Elem(18,2,0.000299), Elem(18,3,0.000150), Elem(18,4,0.000100), Elem(18,5,0.000075), Elem(18,6,0.000060), + Elem(18,7,0.000050), Elem(18,8,0.000043), Elem(23,0,0.000045), Elem(23,1,0.000067), Elem(23,2,0.000134), Elem(23,3,0.013367), Elem(23,4,0.000134), Elem(23,5,0.000067), + Elem(23,6,0.000045), Elem(23,7,0.000033), Elem(23,8,0.000027), Elem(30,0,0.000033), Elem(30,1,0.000045), Elem(30,2,0.000067), Elem(30,3,0.000134), Elem(30,4,0.013367), + Elem(30,5,0.000134), Elem(30,6,0.000067), Elem(30,7,0.000045), Elem(30,8,0.000033), Elem(32,2,0.000017), Elem(32,3,0.000022), Elem(32,4,0.000033), Elem(32,5,0.000067), + Elem(32,6,0.006683), Elem(32,7,0.000067), Elem(32,8,0.000033), Elem(35,0,0.000047), Elem(35,1,0.000057), Elem(35,2,0.000073), Elem(35,3,0.000101), Elem(35,4,0.000178), + Elem(35,5,0.013430), Elem(35,6,0.000245), Elem(35,7,0.006840), Elem(35,8,0.009045), Elem(40,0,0.014962), Elem(40,1,0.000150), Elem(40,2,0.000075), Elem(40,3,0.000050), + Elem(40,4,0.000037), Elem(40,5,0.000030), Elem(40,6,0.000025), Elem(40,7,0.000021), Elem(40,8,0.000019), Elem(44,2,0.000017), Elem(44,3,0.000022), Elem(44,4,0.000033), + Elem(44,5,0.000067), Elem(44,6,0.006683), Elem(44,7,0.000067), Elem(44,8,0.000033), Elem(47,0,1.481358), Elem(47,1,0.014973), Elem(47,2,0.022382), Elem(47,3,0.005104), + Elem(47,4,0.003800), Elem(47,5,0.003046), Elem(47,6,0.002573), Elem(47,7,0.008829), Elem(47,8,0.001943), Elem(51,2,0.000017), Elem(51,3,0.000022), Elem(51,4,0.000033), + Elem(51,5,0.000067), Elem(51,6,0.006683), Elem(51,7,0.000067), Elem(51,8,0.000033), Elem(54,3,0.000017), Elem(54,4,0.000022), Elem(54,5,0.000033), Elem(54,6,0.000067), + Elem(54,7,0.006683), Elem(54,8,0.000067), Elem(59,0,0.022369), Elem(59,1,0.014962), Elem(59,2,1.481348), Elem(59,3,0.014863), Elem(59,4,0.007444), Elem(59,5,0.004968), + Elem(59,6,0.003728), Elem(59,7,0.002984), Elem(59,8,0.002487), Elem(66,0,0.014829), Elem(66,1,1.481296), Elem(66,2,0.014846), Elem(66,3,0.007473), Elem(66,4,0.011621), + Elem(66,5,0.003770), Elem(66,6,0.002996), Elem(66,7,0.002491), Elem(66,8,0.002133), Elem(71,0,0.002224), Elem(71,1,0.003331), Elem(71,2,0.006646), Elem(71,3,0.661703), + Elem(71,4,0.006695), Elem(71,5,0.010007), Elem(71,6,0.002295), Elem(71,7,0.001732), Elem(71,8,0.005812), Elem(78,0,0.001804), Elem(78,1,0.017168), Elem(78,2,0.003458), + Elem(78,3,0.006691), Elem(78,4,0.661710), Elem(78,5,0.006654), Elem(78,6,0.003338), Elem(78,7,0.002230), Elem(78,8,0.001676), Elem(83,0,0.001898), Elem(83,1,0.002319), + Elem(83,2,0.003009), Elem(83,3,0.010876), Elem(83,4,0.007789), Elem(83,5,0.663168), Elem(83,6,0.008850), Elem(83,7,0.007747), Elem(83,8,0.444436), Elem(87,0,0.001103), + Elem(87,1,0.001323), Elem(87,2,0.001654), Elem(87,3,0.002206), Elem(87,4,0.003308), Elem(87,5,0.006617), Elem(87,6,0.661660), Elem(87,7,0.006617), Elem(87,8,0.003308), + Elem(90,0,0.015908), Elem(90,1,0.001252), Elem(90,2,0.001398), Elem(90,3,0.001704), Elem(90,4,0.002243), Elem(90,5,0.003338), Elem(90,6,0.006642), Elem(90,7,0.661682), + Elem(90,8,0.006635), }, + { Elem(0,0,0.044774), Elem(0,1,0.000448), Elem(0,2,0.000224), Elem(0,3,0.000149), Elem(0,4,0.000112), Elem(0,5,0.000090), Elem(0,6,0.000075), Elem(0,7,0.000064), + Elem(0,8,0.000056), Elem(12,0,0.000150), Elem(12,1,0.000299), Elem(12,2,0.029925), Elem(12,3,0.000299), Elem(12,4,0.000150), Elem(12,5,0.000100), Elem(12,6,0.000075), + Elem(12,7,0.000060), Elem(12,8,0.000050), Elem(19,0,0.000299), Elem(19,1,0.029925), Elem(19,2,0.000299), Elem(19,3,0.000150), Elem(19,4,0.000100), Elem(19,5,0.000075), + Elem(19,6,0.000060), Elem(19,7,0.000050), Elem(19,8,0.000043), Elem(24,0,0.000045), Elem(24,1,0.000067), Elem(24,2,0.000134), Elem(24,3,0.013367), Elem(24,4,0.000134), + Elem(24,5,0.000067), Elem(24,6,0.000045), Elem(24,7,0.000033), Elem(24,8,0.000027), Elem(31,0,0.000046), Elem(31,1,0.000059), Elem(31,2,0.000085), Elem(31,3,0.000156), + Elem(31,4,0.013397), Elem(31,5,0.000178), Elem(31,6,0.000156), Elem(31,7,0.008978), Elem(31,8,0.000123), Elem(33,2,0.000017), Elem(33,3,0.000022), Elem(33,4,0.000033), + Elem(33,5,0.000067), Elem(33,6,0.006683), Elem(33,7,0.000067), Elem(33,8,0.000033), Elem(41,0,0.000038), Elem(41,1,0.000046), Elem(41,2,0.000059), Elem(41,3,0.000085), + Elem(41,4,0.000156), Elem(41,5,0.013397), Elem(41,6,0.000178), Elem(41,7,0.000156), Elem(41,8,0.008978), Elem(45,2,0.000017), Elem(45,3,0.000022), Elem(45,4,0.000033), + Elem(45,5,0.000067), Elem(45,6,0.006683), Elem(45,7,0.000067), Elem(45,8,0.000033), Elem(48,0,2.216334), Elem(48,1,0.022163), Elem(48,2,0.011082), Elem(48,3,0.007388), + Elem(48,4,0.005541), Elem(48,5,0.004433), Elem(48,6,0.003694), Elem(48,7,0.003166), Elem(48,8,0.002770), Elem(52,2,0.000017), Elem(52,3,0.000022), Elem(52,4,0.000033), + Elem(52,5,0.000067), Elem(52,6,0.006683), Elem(52,7,0.000067), Elem(52,8,0.000033), Elem(60,0,0.007429), Elem(60,1,0.014846), Elem(60,2,1.481340), Elem(60,3,0.021496), + Elem(60,4,0.007473), Elem(60,5,0.004971), Elem(60,6,0.003725), Elem(60,7,0.002979), Elem(60,8,0.002482), Elem(67,0,0.014836), Elem(67,1,1.481303), Elem(67,2,0.014855), + Elem(67,3,0.007484), Elem(67,4,0.011636), Elem(67,5,0.003792), Elem(67,6,0.003041), Elem(67,7,0.006958), Elem(67,8,0.002177), Elem(72,0,0.002280), Elem(72,1,0.003458), + Elem(72,2,0.021579), Elem(72,3,0.661810), Elem(72,4,0.006691), Elem(72,5,0.003358), Elem(72,6,0.002243), Elem(72,7,0.001684), Elem(72,8,0.001348), Elem(79,0,0.002436), + Elem(79,1,0.017905), Elem(79,2,0.004342), Elem(79,3,0.007797), Elem(79,4,0.663184), Elem(79,5,0.008865), Elem(79,6,0.007760), Elem(79,7,0.444447), Elem(79,8,0.006098), + Elem(84,0,0.001876), Elem(84,1,0.002286), Elem(84,2,0.002943), Elem(84,3,0.004193), Elem(84,4,0.007722), Elem(84,5,0.663135), Elem(84,6,0.008828), Elem(84,7,0.007730), + Elem(84,8,0.444422), Elem(88,0,0.001103), Elem(88,1,0.001323), Elem(88,2,0.001654), Elem(88,3,0.002206), Elem(88,4,0.003308), Elem(88,5,0.006617), Elem(88,6,0.661660), + Elem(88,7,0.006617), Elem(88,8,0.003308), }, + { Elem(1,0,0.044774), Elem(1,1,0.000448), Elem(1,2,0.000224), Elem(1,3,0.000149), Elem(1,4,0.000112), Elem(1,5,0.000090), Elem(1,6,0.000075), Elem(1,7,0.000064), + Elem(1,8,0.000056), Elem(13,0,0.000224), Elem(13,1,0.000448), Elem(13,2,0.044774), Elem(13,3,0.000448), Elem(13,4,0.000224), Elem(13,5,0.000149), Elem(13,6,0.000112), + Elem(13,7,0.000090), Elem(13,8,0.000075), Elem(20,0,0.000299), Elem(20,1,0.029925), Elem(20,2,0.000299), Elem(20,3,0.000150), Elem(20,4,0.000100), Elem(20,5,0.000075), + Elem(20,6,0.000060), Elem(20,7,0.000050), Elem(20,8,0.000043), Elem(25,0,0.000045), Elem(25,1,0.000067), Elem(25,2,0.000134), Elem(25,3,0.013367), Elem(25,4,0.000134), + Elem(25,5,0.000067), Elem(25,6,0.000045), Elem(25,7,0.000033), Elem(25,8,0.000027), Elem(32,0,0.000046), Elem(32,1,0.000059), Elem(32,2,0.000085), Elem(32,3,0.000156), + Elem(32,4,0.013397), Elem(32,5,0.000178), Elem(32,6,0.000156), Elem(32,7,0.008978), Elem(32,8,0.000123), Elem(34,2,0.000017), Elem(34,3,0.000022), Elem(34,4,0.000033), + Elem(34,5,0.000067), Elem(34,6,0.006683), Elem(34,7,0.000067), Elem(34,8,0.000033), Elem(42,0,0.000038), Elem(42,1,0.000046), Elem(42,2,0.000059), Elem(42,3,0.000085), + Elem(42,4,0.000156), Elem(42,5,0.013397), Elem(42,6,0.000178), Elem(42,7,0.000156), Elem(42,8,0.008978), Elem(46,2,0.000017), Elem(46,3,0.000022), Elem(46,4,0.000033), + Elem(46,5,0.000067), Elem(46,6,0.006683), Elem(46,7,0.000067), Elem(46,8,0.000033), Elem(49,0,2.216353), Elem(49,1,0.022186), Elem(49,2,0.011111), Elem(49,3,0.007430), + Elem(49,4,0.005619), Elem(49,5,0.011131), Elem(49,6,0.003783), Elem(49,7,0.003244), Elem(49,8,0.007260), Elem(53,2,0.000017), Elem(53,3,0.000022), Elem(53,4,0.000033), + Elem(53,5,0.000067), Elem(53,6,0.006683), Elem(53,7,0.000067), Elem(53,8,0.000033), Elem(61,0,0.011104), Elem(61,1,0.022197), Elem(61,2,2.216401), Elem(61,3,0.028847), + Elem(61,4,0.011149), Elem(61,5,0.007421), Elem(61,6,0.005563), Elem(61,7,0.004449), Elem(61,8,0.003707), Elem(68,0,0.014836), Elem(68,1,1.481303), Elem(68,2,0.014855), + Elem(68,3,0.007484), Elem(68,4,0.011636), Elem(68,5,0.003792), Elem(68,6,0.003041), Elem(68,7,0.006958), Elem(68,8,0.002177), Elem(73,0,0.002317), Elem(73,1,0.003532), + Elem(73,2,0.029004), Elem(73,3,0.661884), Elem(73,4,0.006729), Elem(73,5,0.003383), Elem(73,6,0.002262), Elem(73,7,0.001699), Elem(73,8,0.001361), Elem(80,0,0.002436), + Elem(80,1,0.017905), Elem(80,2,0.004342), Elem(80,3,0.007797), Elem(80,4,0.663184), Elem(80,5,0.008865), Elem(80,6,0.007760), Elem(80,7,0.444447), Elem(80,8,0.006098), + Elem(85,0,0.024263), Elem(85,1,0.002510), Elem(85,2,0.003054), Elem(85,3,0.004267), Elem(85,4,0.007778), Elem(85,5,0.663179), Elem(85,6,0.008865), Elem(85,7,0.007762), + Elem(85,8,0.444450), Elem(89,0,0.001103), Elem(89,1,0.001323), Elem(89,2,0.001654), Elem(89,3,0.002206), Elem(89,4,0.003308), Elem(89,5,0.006617), Elem(89,6,0.661660), + Elem(89,7,0.006617), Elem(89,8,0.003308), }, + { Elem(2,0,0.044774), Elem(2,1,0.000448), Elem(2,2,0.000224), Elem(2,3,0.000149), Elem(2,4,0.000112), Elem(2,5,0.000090), Elem(2,6,0.000075), Elem(2,7,0.000064), + Elem(2,8,0.000056), Elem(14,0,0.000224), Elem(14,1,0.000448), Elem(14,2,0.044774), Elem(14,3,0.000448), Elem(14,4,0.000224), Elem(14,5,0.000149), Elem(14,6,0.000112), + Elem(14,7,0.000090), Elem(14,8,0.000075), Elem(21,0,0.000448), Elem(21,1,0.044774), Elem(21,2,0.000448), Elem(21,3,0.000224), Elem(21,4,0.000149), Elem(21,5,0.000112), + Elem(21,6,0.000090), Elem(21,7,0.000075), Elem(21,8,0.000064), Elem(26,0,0.000045), Elem(26,1,0.000067), Elem(26,2,0.000134), Elem(26,3,0.013367), Elem(26,4,0.000134), + Elem(26,5,0.000067), Elem(26,6,0.000045), Elem(26,7,0.000033), Elem(26,8,0.000027), Elem(31,0,0.000019), Elem(31,1,0.000023), Elem(31,2,0.000030), Elem(31,3,0.000042), + Elem(31,4,0.000078), Elem(31,5,0.006698), Elem(31,6,0.000089), Elem(31,7,0.000078), Elem(31,8,0.004489), Elem(33,0,0.000035), Elem(33,1,0.000045), Elem(33,2,0.000063), + Elem(33,3,0.000112), Elem(33,4,0.008963), Elem(33,5,0.000134), Elem(33,6,0.000134), Elem(33,7,0.008963), Elem(33,8,0.000112), Elem(35,4,0.000022), Elem(35,5,0.000045), + Elem(35,6,0.004467), Elem(35,7,0.000045), Elem(35,8,0.000022), Elem(43,0,0.000019), Elem(43,1,0.000023), Elem(43,2,0.000030), Elem(43,3,0.000042), Elem(43,4,0.000078), + Elem(43,5,0.006698), Elem(43,6,0.000089), Elem(43,7,0.000078), Elem(43,8,0.004489), Elem(47,4,0.000022), Elem(47,5,0.000045), Elem(47,6,0.004467), Elem(47,7,0.000045), + Elem(47,8,0.000022), Elem(50,0,2.216353), Elem(50,1,0.022186), Elem(50,2,0.011111), Elem(50,3,0.007430), Elem(50,4,0.005619), Elem(50,5,0.011131), Elem(50,6,0.003783), + Elem(50,7,0.003244), Elem(50,8,0.007260), Elem(54,4,0.000022), Elem(54,5,0.000045), Elem(54,6,0.004467), Elem(54,7,0.000045), Elem(54,8,0.000022), Elem(62,0,0.011104), + Elem(62,1,0.022197), Elem(62,2,2.216401), Elem(62,3,0.028847), Elem(62,4,0.011149), Elem(62,5,0.007421), Elem(62,6,0.005563), Elem(62,7,0.004449), Elem(62,8,0.003707), + Elem(69,0,0.022181), Elem(69,1,2.216356), Elem(69,2,0.022195), Elem(69,3,0.011138), Elem(69,4,0.011870), Elem(69,5,0.005608), Elem(69,6,0.004500), Elem(69,7,0.008176), + Elem(69,8,0.003222), Elem(74,0,0.002317), Elem(74,1,0.003532), Elem(74,2,0.029004), Elem(74,3,0.661884), Elem(74,4,0.006729), Elem(74,5,0.003383), Elem(74,6,0.002262), + Elem(74,7,0.001699), Elem(74,8,0.001361), Elem(81,0,0.001961), Elem(81,1,0.024598), Elem(81,2,0.003319), Elem(81,3,0.005640), Elem(81,4,0.443765), Elem(81,5,0.006689), + Elem(81,6,0.006678), Elem(81,7,0.443728), Elem(81,8,0.005560), Elem(86,0,0.024263), Elem(86,1,0.002510), Elem(86,2,0.003054), Elem(86,3,0.004267), Elem(86,4,0.007778), + Elem(86,5,0.663179), Elem(86,6,0.008865), Elem(86,7,0.007762), Elem(86,8,0.444450), Elem(90,0,0.000737), Elem(90,1,0.000884), Elem(90,2,0.001106), Elem(90,3,0.001474), + Elem(90,4,0.002211), Elem(90,5,0.004422), Elem(90,6,0.442217), Elem(90,7,0.004422), Elem(90,8,0.002211), }, + { Elem(3,0,0.044774), Elem(3,1,0.000448), Elem(3,2,0.000224), Elem(3,3,0.000149), Elem(3,4,0.000112), Elem(3,5,0.000090), Elem(3,6,0.000075), Elem(3,7,0.000064), + Elem(3,8,0.000056), Elem(15,0,0.000224), Elem(15,1,0.000448), Elem(15,2,0.044774), Elem(15,3,0.000448), Elem(15,4,0.000224), Elem(15,5,0.000149), Elem(15,6,0.000112), + Elem(15,7,0.000090), Elem(15,8,0.000075), Elem(22,0,0.000448), Elem(22,1,0.044774), Elem(22,2,0.000448), Elem(22,3,0.000224), Elem(22,4,0.000149), Elem(22,5,0.000112), + Elem(22,6,0.000090), Elem(22,7,0.000075), Elem(22,8,0.000064), Elem(27,0,0.000022), Elem(27,1,0.000033), Elem(27,2,0.000067), Elem(27,3,0.006683), Elem(27,4,0.000067), + Elem(27,5,0.000033), Elem(27,6,0.000022), Elem(27,7,0.000017), Elem(29,0,0.000022), Elem(29,1,0.000033), Elem(29,2,0.000067), Elem(29,3,0.006683), Elem(29,4,0.000067), + Elem(29,5,0.000033), Elem(29,6,0.000022), Elem(29,7,0.000017), Elem(31,1,0.000018), Elem(31,2,0.000022), Elem(31,3,0.000030), Elem(31,4,0.000045), Elem(31,5,0.000089), + Elem(31,6,0.008934), Elem(31,7,0.000089), Elem(31,8,0.000045), Elem(32,0,0.000019), Elem(32,1,0.000023), Elem(32,2,0.000030), Elem(32,3,0.000042), Elem(32,4,0.000078), + Elem(32,5,0.006698), Elem(32,6,0.000089), Elem(32,7,0.000078), Elem(32,8,0.004489), Elem(34,0,0.000035), Elem(34,1,0.000045), Elem(34,2,0.000063), Elem(34,3,0.000112), + Elem(34,4,0.008963), Elem(34,5,0.000134), Elem(34,6,0.000134), Elem(34,7,0.008963), Elem(34,8,0.000112), Elem(44,0,0.000019), Elem(44,1,0.000023), Elem(44,2,0.000030), + Elem(44,3,0.000042), Elem(44,4,0.000078), Elem(44,5,0.006698), Elem(44,6,0.000089), Elem(44,7,0.000078), Elem(44,8,0.004489), Elem(51,0,2.216353), Elem(51,1,0.022186), + Elem(51,2,0.011111), Elem(51,3,0.007430), Elem(51,4,0.005619), Elem(51,5,0.011131), Elem(51,6,0.003783), Elem(51,7,0.003244), Elem(51,8,0.007260), Elem(63,0,0.011082), + Elem(63,1,0.022163), Elem(63,2,2.216334), Elem(63,3,0.022163), Elem(63,4,0.011082), Elem(63,5,0.007388), Elem(63,6,0.005541), Elem(63,7,0.004433), Elem(63,8,0.003694), + Elem(65,0,0.000022), Elem(65,1,0.000033), Elem(65,2,0.000067), Elem(65,3,0.006683), Elem(65,4,0.000067), Elem(65,5,0.000033), Elem(65,6,0.000022), Elem(65,7,0.000017), + Elem(67,4,0.000022), Elem(67,5,0.000045), Elem(67,6,0.004467), Elem(67,7,0.000045), Elem(67,8,0.000022), Elem(70,0,0.022181), Elem(70,1,2.216356), Elem(70,2,0.022195), + Elem(70,3,0.011138), Elem(70,4,0.011870), Elem(70,5,0.005608), Elem(70,6,0.004500), Elem(70,7,0.008176), Elem(70,8,0.003222), Elem(75,0,0.002317), Elem(75,1,0.003532), + Elem(75,2,0.029004), Elem(75,3,0.661884), Elem(75,4,0.006729), Elem(75,5,0.003383), Elem(75,6,0.002262), Elem(75,7,0.001699), Elem(75,8,0.001361), Elem(79,0,0.000737), + Elem(79,1,0.000884), Elem(79,2,0.001106), Elem(79,3,0.001474), Elem(79,4,0.002211), Elem(79,5,0.004422), Elem(79,6,0.442217), Elem(79,7,0.004422), Elem(79,8,0.002211), + Elem(82,0,0.001961), Elem(82,1,0.024598), Elem(82,2,0.003319), Elem(82,3,0.005640), Elem(82,4,0.443765), Elem(82,5,0.006689), Elem(82,6,0.006678), Elem(82,7,0.443728), + Elem(82,8,0.005560), Elem(87,0,0.024263), Elem(87,1,0.002510), Elem(87,2,0.003054), Elem(87,3,0.004267), Elem(87,4,0.007778), Elem(87,5,0.663179), Elem(87,6,0.008865), + Elem(87,7,0.007762), Elem(87,8,0.444450), }, + { Elem(4,0,0.044774), Elem(4,1,0.000448), Elem(4,2,0.000224), Elem(4,3,0.000149), Elem(4,4,0.000112), Elem(4,5,0.000090), Elem(4,6,0.000075), Elem(4,7,0.000064), + Elem(4,8,0.000056), Elem(16,0,0.000224), Elem(16,1,0.000448), Elem(16,2,0.044774), Elem(16,3,0.000448), Elem(16,4,0.000224), Elem(16,5,0.000149), Elem(16,6,0.000112), + Elem(16,7,0.000090), Elem(16,8,0.000075), Elem(23,0,0.000448), Elem(23,1,0.044774), Elem(23,2,0.000448), Elem(23,3,0.000224), Elem(23,4,0.000149), Elem(23,5,0.000112), + Elem(23,6,0.000090), Elem(23,7,0.000075), Elem(23,8,0.000064), Elem(28,0,0.000045), Elem(28,1,0.000067), Elem(28,2,0.000134), Elem(28,3,0.013367), Elem(28,4,0.000134), + Elem(28,5,0.000067), Elem(28,6,0.000045), Elem(28,7,0.000033), Elem(28,8,0.000027), Elem(32,1,0.000018), Elem(32,2,0.000022), Elem(32,3,0.000030), Elem(32,4,0.000045), + Elem(32,5,0.000089), Elem(32,6,0.008934), Elem(32,7,0.000089), Elem(32,8,0.000045), Elem(33,0,0.000019), Elem(33,1,0.000023), Elem(33,2,0.000030), Elem(33,3,0.000042), + Elem(33,4,0.000078), Elem(33,5,0.006698), Elem(33,6,0.000089), Elem(33,7,0.000078), Elem(33,8,0.004489), Elem(35,0,0.000035), Elem(35,1,0.000045), Elem(35,2,0.000063), + Elem(35,3,0.000112), Elem(35,4,0.008963), Elem(35,5,0.000134), Elem(35,6,0.000134), Elem(35,7,0.008963), Elem(35,8,0.000112), Elem(45,0,0.000019), Elem(45,1,0.000023), + Elem(45,2,0.000030), Elem(45,3,0.000042), Elem(45,4,0.000078), Elem(45,5,0.006698), Elem(45,6,0.000089), Elem(45,7,0.000078), Elem(45,8,0.004489), Elem(52,0,2.216353), + Elem(52,1,0.022186), Elem(52,2,0.011111), Elem(52,3,0.007430), Elem(52,4,0.005619), Elem(52,5,0.011131), Elem(52,6,0.003783), Elem(52,7,0.003244), Elem(52,8,0.007260), + Elem(64,0,0.011104), Elem(64,1,0.022197), Elem(64,2,2.216401), Elem(64,3,0.028847), Elem(64,4,0.011149), Elem(64,5,0.007421), Elem(64,6,0.005563), Elem(64,7,0.004449), + Elem(64,8,0.003707), Elem(68,4,0.000022), Elem(68,5,0.000045), Elem(68,6,0.004467), Elem(68,7,0.000045), Elem(68,8,0.000022), Elem(71,0,0.022181), Elem(71,1,2.216356), + Elem(71,2,0.022195), Elem(71,3,0.011138), Elem(71,4,0.011870), Elem(71,5,0.005608), Elem(71,6,0.004500), Elem(71,7,0.008176), Elem(71,8,0.003222), Elem(76,0,0.002317), + Elem(76,1,0.003532), Elem(76,2,0.029004), Elem(76,3,0.661884), Elem(76,4,0.006729), Elem(76,5,0.003383), Elem(76,6,0.002262), Elem(76,7,0.001699), Elem(76,8,0.001361), + Elem(80,0,0.000737), Elem(80,1,0.000884), Elem(80,2,0.001106), Elem(80,3,0.001474), Elem(80,4,0.002211), Elem(80,5,0.004422), Elem(80,6,0.442217), Elem(80,7,0.004422), + Elem(80,8,0.002211), Elem(83,0,0.001961), Elem(83,1,0.024598), Elem(83,2,0.003319), Elem(83,3,0.005640), Elem(83,4,0.443765), Elem(83,5,0.006689), Elem(83,6,0.006678), + Elem(83,7,0.443728), Elem(83,8,0.005560), Elem(88,0,0.024263), Elem(88,1,0.002510), Elem(88,2,0.003054), Elem(88,3,0.004267), Elem(88,4,0.007778), Elem(88,5,0.663179), + Elem(88,6,0.008865), Elem(88,7,0.007762), Elem(88,8,0.444450), }, + { Elem(5,0,0.044774), Elem(5,1,0.000448), Elem(5,2,0.000224), Elem(5,3,0.000149), Elem(5,4,0.000112), Elem(5,5,0.000090), Elem(5,6,0.000075), Elem(5,7,0.000064), + Elem(5,8,0.000056), Elem(17,0,0.000224), Elem(17,1,0.000448), Elem(17,2,0.044774), Elem(17,3,0.000448), Elem(17,4,0.000224), Elem(17,5,0.000149), Elem(17,6,0.000112), + Elem(17,7,0.000090), Elem(17,8,0.000075), Elem(24,0,0.000448), Elem(24,1,0.044774), Elem(24,2,0.000448), Elem(24,3,0.000224), Elem(24,4,0.000149), Elem(24,5,0.000112), + Elem(24,6,0.000090), Elem(24,7,0.000075), Elem(24,8,0.000064), Elem(29,0,0.000022), Elem(29,1,0.000033), Elem(29,2,0.000067), Elem(29,3,0.006683), Elem(29,4,0.000067), + Elem(29,5,0.000033), Elem(29,6,0.000022), Elem(29,7,0.000017), Elem(33,1,0.000018), Elem(33,2,0.000022), Elem(33,3,0.000030), Elem(33,4,0.000045), Elem(33,5,0.000089), + Elem(33,6,0.008934), Elem(33,7,0.000089), Elem(33,8,0.000045), Elem(34,0,0.000019), Elem(34,1,0.000023), Elem(34,2,0.000030), Elem(34,3,0.000042), Elem(34,4,0.000078), + Elem(34,5,0.006698), Elem(34,6,0.000089), Elem(34,7,0.000078), Elem(34,8,0.004489), Elem(41,0,0.000035), Elem(41,1,0.000045), Elem(41,2,0.000063), Elem(41,3,0.000112), + Elem(41,4,0.008963), Elem(41,5,0.000134), Elem(41,6,0.000134), Elem(41,7,0.008963), Elem(41,8,0.000112), Elem(46,0,0.000019), Elem(46,1,0.000023), Elem(46,2,0.000030), + Elem(46,3,0.000042), Elem(46,4,0.000078), Elem(46,5,0.006698), Elem(46,6,0.000089), Elem(46,7,0.000078), Elem(46,8,0.004489), Elem(53,0,2.216353), Elem(53,1,0.022186), + Elem(53,2,0.011111), Elem(53,3,0.007430), Elem(53,4,0.005619), Elem(53,5,0.011131), Elem(53,6,0.003783), Elem(53,7,0.003244), Elem(53,8,0.007260), Elem(60,0,0.000224), + Elem(60,1,0.022387), Elem(60,2,0.000224), Elem(60,3,0.000112), Elem(60,4,0.000075), Elem(60,5,0.000056), Elem(60,6,0.000045), Elem(60,7,0.000037), Elem(60,8,0.000032), + Elem(65,0,0.011082), Elem(65,1,0.022163), Elem(65,2,2.216334), Elem(65,3,0.022163), Elem(65,4,0.011082), Elem(65,5,0.007388), Elem(65,6,0.005541), Elem(65,7,0.004433), + Elem(65,8,0.003694), Elem(69,4,0.000022), Elem(69,5,0.000045), Elem(69,6,0.004467), Elem(69,7,0.000045), Elem(69,8,0.000022), Elem(72,0,0.022163), Elem(72,1,2.216334), + Elem(72,2,0.022163), Elem(72,3,0.011082), Elem(72,4,0.007388), Elem(72,5,0.005541), Elem(72,6,0.004433), Elem(72,7,0.003694), Elem(72,8,0.003166), Elem(75,0,0.000112), + Elem(75,1,0.000224), Elem(75,2,0.022387), Elem(75,3,0.000224), Elem(75,4,0.000112), Elem(75,5,0.000075), Elem(75,6,0.000056), Elem(75,7,0.000045), Elem(75,8,0.000037), + Elem(77,0,0.002206), Elem(77,1,0.003308), Elem(77,2,0.006617), Elem(77,3,0.661660), Elem(77,4,0.006617), Elem(77,5,0.003308), Elem(77,6,0.002206), Elem(77,7,0.001654), + Elem(77,8,0.001323), Elem(81,0,0.000737), Elem(81,1,0.000884), Elem(81,2,0.001106), Elem(81,3,0.001474), Elem(81,4,0.002211), Elem(81,5,0.004422), Elem(81,6,0.442217), + Elem(81,7,0.004422), Elem(81,8,0.002211), Elem(84,0,0.001737), Elem(84,1,0.002211), Elem(84,2,0.003096), Elem(84,3,0.005528), Elem(84,4,0.443691), Elem(84,5,0.006633), + Elem(84,6,0.006633), Elem(84,7,0.443691), Elem(84,8,0.005528), Elem(89,0,0.024263), Elem(89,1,0.002510), Elem(89,2,0.003054), Elem(89,3,0.004267), Elem(89,4,0.007778), + Elem(89,5,0.663179), Elem(89,6,0.008865), Elem(89,7,0.007762), Elem(89,8,0.444450), }, + { Elem(6,0,0.044774), Elem(6,1,0.000448), Elem(6,2,0.000224), Elem(6,3,0.000149), Elem(6,4,0.000112), Elem(6,5,0.000090), Elem(6,6,0.000075), Elem(6,7,0.000064), + Elem(6,8,0.000056), Elem(18,0,0.000224), Elem(18,1,0.000448), Elem(18,2,0.044774), Elem(18,3,0.000448), Elem(18,4,0.000224), Elem(18,5,0.000149), Elem(18,6,0.000112), + Elem(18,7,0.000090), Elem(18,8,0.000075), Elem(25,0,0.000448), Elem(25,1,0.044774), Elem(25,2,0.000448), Elem(25,3,0.000224), Elem(25,4,0.000149), Elem(25,5,0.000112), + Elem(25,6,0.000090), Elem(25,7,0.000075), Elem(25,8,0.000064), Elem(30,0,0.000045), Elem(30,1,0.000067), Elem(30,2,0.000134), Elem(30,3,0.013367), Elem(30,4,0.000134), + Elem(30,5,0.000067), Elem(30,6,0.000045), Elem(30,7,0.000033), Elem(30,8,0.000027), Elem(34,1,0.000018), Elem(34,2,0.000022), Elem(34,3,0.000030), Elem(34,4,0.000045), + Elem(34,5,0.000089), Elem(34,6,0.008934), Elem(34,7,0.000089), Elem(34,8,0.000045), Elem(35,1,0.000018), Elem(35,2,0.000022), Elem(35,3,0.000031), Elem(35,4,0.000056), + Elem(35,5,0.004482), Elem(35,6,0.000067), Elem(35,7,0.000067), Elem(35,8,0.004482), Elem(42,0,0.000035), Elem(42,1,0.000045), Elem(42,2,0.000063), Elem(42,3,0.000112), + Elem(42,4,0.008963), Elem(42,5,0.000134), Elem(42,6,0.000134), Elem(42,7,0.008963), Elem(42,8,0.000112), Elem(47,1,0.000018), Elem(47,2,0.000022), Elem(47,3,0.000031), + Elem(47,4,0.000056), Elem(47,5,0.004482), Elem(47,6,0.000067), Elem(47,7,0.000067), Elem(47,8,0.004482), Elem(49,0,0.000018), Elem(49,1,0.000022), Elem(49,2,0.000031), + Elem(49,3,0.000056), Elem(49,4,0.004482), Elem(49,5,0.000067), Elem(49,6,0.000067), Elem(49,7,0.004482), Elem(49,8,0.000056), Elem(54,0,2.216348), Elem(54,1,0.022181), + Elem(54,2,0.011104), Elem(54,3,0.007419), Elem(54,4,0.005597), Elem(54,5,0.008914), Elem(54,6,0.003761), Elem(54,7,0.003233), Elem(54,8,0.007252), Elem(61,0,0.000224), + Elem(61,1,0.022387), Elem(61,2,0.000224), Elem(61,3,0.000112), Elem(61,4,0.000075), Elem(61,5,0.000056), Elem(61,6,0.000045), Elem(61,7,0.000037), Elem(61,8,0.000032), + Elem(66,0,0.011104), Elem(66,1,0.022197), Elem(66,2,2.216401), Elem(66,3,0.028847), Elem(66,4,0.011149), Elem(66,5,0.007421), Elem(66,6,0.005563), Elem(66,7,0.004449), + Elem(66,8,0.003707), Elem(70,4,0.000022), Elem(70,5,0.000045), Elem(70,6,0.004467), Elem(70,7,0.000045), Elem(70,8,0.000022), Elem(73,0,0.022163), Elem(73,1,2.216334), + Elem(73,2,0.022163), Elem(73,3,0.011082), Elem(73,4,0.007388), Elem(73,5,0.005541), Elem(73,6,0.004433), Elem(73,7,0.003694), Elem(73,8,0.003166), Elem(78,0,0.002317), + Elem(78,1,0.003532), Elem(78,2,0.029004), Elem(78,3,0.661884), Elem(78,4,0.006729), Elem(78,5,0.003383), Elem(78,6,0.002262), Elem(78,7,0.001699), Elem(78,8,0.001361), + Elem(82,0,0.000737), Elem(82,1,0.000884), Elem(82,2,0.001106), Elem(82,3,0.001474), Elem(82,4,0.002211), Elem(82,5,0.004422), Elem(82,6,0.442217), Elem(82,7,0.004422), + Elem(82,8,0.002211), Elem(85,0,0.001737), Elem(85,1,0.002211), Elem(85,2,0.003096), Elem(85,3,0.005528), Elem(85,4,0.443691), Elem(85,5,0.006633), Elem(85,6,0.006633), + Elem(85,7,0.443691), Elem(85,8,0.005528), Elem(90,0,0.023824), Elem(90,1,0.001961), Elem(90,2,0.002323), Elem(90,3,0.003170), Elem(90,4,0.005584), Elem(90,5,0.443736), + Elem(90,6,0.006671), Elem(90,7,0.006665), Elem(90,8,0.443719), }, + { Elem(7,0,0.044774), Elem(7,1,0.000448), Elem(7,2,0.000224), Elem(7,3,0.000149), Elem(7,4,0.000112), Elem(7,5,0.000090), Elem(7,6,0.000075), Elem(7,7,0.000064), + Elem(7,8,0.000056), Elem(19,0,0.000224), Elem(19,1,0.000448), Elem(19,2,0.044774), Elem(19,3,0.000448), Elem(19,4,0.000224), Elem(19,5,0.000149), Elem(19,6,0.000112), + Elem(19,7,0.000090), Elem(19,8,0.000075), Elem(26,0,0.000448), Elem(26,1,0.044774), Elem(26,2,0.000448), Elem(26,3,0.000224), Elem(26,4,0.000149), Elem(26,5,0.000112), + Elem(26,6,0.000090), Elem(26,7,0.000075), Elem(26,8,0.000064), Elem(31,0,0.000091), Elem(31,1,0.000124), Elem(31,2,0.000210), Elem(31,3,0.013485), Elem(31,4,0.004727), + Elem(31,5,0.009097), Elem(31,6,0.000246), Elem(31,7,0.004649), Elem(31,8,0.009046), Elem(35,1,0.000018), Elem(35,2,0.000022), Elem(35,3,0.000030), Elem(35,4,0.000045), + Elem(35,5,0.000089), Elem(35,6,0.008934), Elem(35,7,0.000089), Elem(35,8,0.000045), Elem(43,0,0.022405), Elem(43,1,0.000246), Elem(43,2,0.000143), Elem(43,3,0.000130), + Elem(43,4,0.004538), Elem(43,5,0.000112), Elem(43,6,0.000104), Elem(43,7,0.004514), Elem(43,8,0.000084), Elem(50,0,0.000018), Elem(50,1,0.000022), Elem(50,2,0.000031), + Elem(50,3,0.000056), Elem(50,4,0.004482), Elem(50,5,0.000067), Elem(50,6,0.000067), Elem(50,7,0.004482), Elem(50,8,0.000056), Elem(55,0,2.216334), Elem(55,1,0.022163), + Elem(55,2,0.011082), Elem(55,3,0.007388), Elem(55,4,0.005541), Elem(55,5,0.004433), Elem(55,6,0.003694), Elem(55,7,0.003166), Elem(55,8,0.002770), Elem(62,0,0.000224), + Elem(62,1,0.022387), Elem(62,2,0.000224), Elem(62,3,0.000112), Elem(62,4,0.000075), Elem(62,5,0.000056), Elem(62,6,0.000045), Elem(62,7,0.000037), Elem(62,8,0.000032), + Elem(67,0,0.011118), Elem(67,1,0.022214), Elem(67,2,2.216423), Elem(67,3,0.028878), Elem(67,4,0.011204), Elem(67,5,0.011903), Elem(67,6,0.005630), Elem(67,7,0.004516), + Elem(67,8,0.008189), Elem(71,4,0.000022), Elem(71,5,0.000045), Elem(71,6,0.004467), Elem(71,7,0.000045), Elem(71,8,0.000022), Elem(74,0,0.022163), Elem(74,1,2.216334), + Elem(74,2,0.022163), Elem(74,3,0.011082), Elem(74,4,0.007388), Elem(74,5,0.005541), Elem(74,6,0.004433), Elem(74,7,0.003694), Elem(74,8,0.003166), Elem(79,0,0.003755), + Elem(79,1,0.005269), Elem(79,2,0.031215), Elem(79,3,0.664980), Elem(79,4,0.012256), Elem(79,5,0.447074), Elem(79,6,0.008895), Elem(79,7,0.008332), Elem(79,8,0.445051), + Elem(83,0,0.000737), Elem(83,1,0.000884), Elem(83,2,0.001106), Elem(83,3,0.001474), Elem(83,4,0.002211), Elem(83,5,0.004422), Elem(83,6,0.442217), Elem(83,7,0.004422), + Elem(83,8,0.002211), Elem(86,0,0.001737), Elem(86,1,0.002211), Elem(86,2,0.003096), Elem(86,3,0.005528), Elem(86,4,0.443691), Elem(86,5,0.006633), Elem(86,6,0.006633), + Elem(86,7,0.443691), Elem(86,8,0.005528), }, + { Elem(8,0,0.044774), Elem(8,1,0.000448), Elem(8,2,0.000224), Elem(8,3,0.000149), Elem(8,4,0.000112), Elem(8,5,0.000090), Elem(8,6,0.000075), Elem(8,7,0.000064), + Elem(8,8,0.000056), Elem(20,0,0.000224), Elem(20,1,0.000448), Elem(20,2,0.044774), Elem(20,3,0.000448), Elem(20,4,0.000224), Elem(20,5,0.000149), Elem(20,6,0.000112), + Elem(20,7,0.000090), Elem(20,8,0.000075), Elem(27,0,0.000224), Elem(27,1,0.022387), Elem(27,2,0.000224), Elem(27,3,0.000112), Elem(27,4,0.000075), Elem(27,5,0.000056), + Elem(27,6,0.000045), Elem(27,7,0.000037), Elem(27,8,0.000032), Elem(29,0,0.000224), Elem(29,1,0.022387), Elem(29,2,0.000224), Elem(29,3,0.000112), Elem(29,4,0.000075), + Elem(29,5,0.000056), Elem(29,6,0.000045), Elem(29,7,0.000037), Elem(29,8,0.000032), Elem(32,0,0.000091), Elem(32,1,0.000124), Elem(32,2,0.000210), Elem(32,3,0.013485), + Elem(32,4,0.004727), Elem(32,5,0.009097), Elem(32,6,0.000246), Elem(32,7,0.004649), Elem(32,8,0.009046), Elem(41,1,0.000018), Elem(41,2,0.000022), Elem(41,3,0.000030), + Elem(41,4,0.000045), Elem(41,5,0.000089), Elem(41,6,0.008934), Elem(41,7,0.000089), Elem(41,8,0.000045), Elem(44,0,0.022405), Elem(44,1,0.000246), Elem(44,2,0.000143), + Elem(44,3,0.000130), Elem(44,4,0.004538), Elem(44,5,0.000112), Elem(44,6,0.000104), Elem(44,7,0.004514), Elem(44,8,0.000084), Elem(51,0,0.000018), Elem(51,1,0.000022), + Elem(51,2,0.000031), Elem(51,3,0.000056), Elem(51,4,0.004482), Elem(51,5,0.000067), Elem(51,6,0.000067), Elem(51,7,0.004482), Elem(51,8,0.000056), Elem(56,0,2.216334), + Elem(56,1,0.022163), Elem(56,2,0.011082), Elem(56,3,0.007388), Elem(56,4,0.005541), Elem(56,5,0.004433), Elem(56,6,0.003694), Elem(56,7,0.003166), Elem(56,8,0.002770), + Elem(65,0,0.000224), Elem(65,1,0.022387), Elem(65,2,0.000224), Elem(65,3,0.000112), Elem(65,4,0.000075), Elem(65,5,0.000056), Elem(65,6,0.000045), Elem(65,7,0.000037), + Elem(65,8,0.000032), Elem(68,0,0.011118), Elem(68,1,0.022214), Elem(68,2,2.216423), Elem(68,3,0.028878), Elem(68,4,0.011204), Elem(68,5,0.011903), Elem(68,6,0.005630), + Elem(68,7,0.004516), Elem(68,8,0.008189), Elem(75,0,0.022163), Elem(75,1,2.216334), Elem(75,2,0.022163), Elem(75,3,0.011082), Elem(75,4,0.007388), Elem(75,5,0.005541), + Elem(75,6,0.004433), Elem(75,7,0.003694), Elem(75,8,0.003166), Elem(80,0,0.003755), Elem(80,1,0.005269), Elem(80,2,0.031215), Elem(80,3,0.664980), Elem(80,4,0.012256), + Elem(80,5,0.447074), Elem(80,6,0.008895), Elem(80,7,0.008332), Elem(80,8,0.445051), Elem(84,0,0.000737), Elem(84,1,0.000884), Elem(84,2,0.001106), Elem(84,3,0.001474), + Elem(84,4,0.002211), Elem(84,5,0.004422), Elem(84,6,0.442217), Elem(84,7,0.004422), Elem(84,8,0.002211), Elem(87,0,0.001737), Elem(87,1,0.002211), Elem(87,2,0.003096), + Elem(87,3,0.005528), Elem(87,4,0.443691), Elem(87,5,0.006633), Elem(87,6,0.006633), Elem(87,7,0.443691), Elem(87,8,0.005528), }, + { Elem(9,0,0.044774), Elem(9,1,0.000448), Elem(9,2,0.000224), Elem(9,3,0.000149), Elem(9,4,0.000112), Elem(9,5,0.000090), Elem(9,6,0.000075), Elem(9,7,0.000064), + Elem(9,8,0.000056), Elem(21,0,0.000224), Elem(21,1,0.000448), Elem(21,2,0.044774), Elem(21,3,0.000448), Elem(21,4,0.000224), Elem(21,5,0.000149), Elem(21,6,0.000112), + Elem(21,7,0.000090), Elem(21,8,0.000075), Elem(28,0,0.000448), Elem(28,1,0.044774), Elem(28,2,0.000448), Elem(28,3,0.000224), Elem(28,4,0.000149), Elem(28,5,0.000112), + Elem(28,6,0.000090), Elem(28,7,0.000075), Elem(28,8,0.000064), Elem(33,0,0.000091), Elem(33,1,0.000124), Elem(33,2,0.000210), Elem(33,3,0.013485), Elem(33,4,0.004727), + Elem(33,5,0.009097), Elem(33,6,0.000246), Elem(33,7,0.004649), Elem(33,8,0.009046), Elem(42,1,0.000018), Elem(42,2,0.000022), Elem(42,3,0.000030), Elem(42,4,0.000045), + Elem(42,5,0.000089), Elem(42,6,0.008934), Elem(42,7,0.000089), Elem(42,8,0.000045), Elem(45,0,0.022405), Elem(45,1,0.000246), Elem(45,2,0.000143), Elem(45,3,0.000130), + Elem(45,4,0.004538), Elem(45,5,0.000112), Elem(45,6,0.000104), Elem(45,7,0.004514), Elem(45,8,0.000084), Elem(49,4,0.000022), Elem(49,5,0.000045), Elem(49,6,0.004467), + Elem(49,7,0.000045), Elem(49,8,0.000022), Elem(52,0,0.000018), Elem(52,1,0.000022), Elem(52,2,0.000031), Elem(52,3,0.000056), Elem(52,4,0.004482), Elem(52,5,0.000067), + Elem(52,6,0.000067), Elem(52,7,0.004482), Elem(52,8,0.000056), Elem(57,0,2.216334), Elem(57,1,0.022163), Elem(57,2,0.011082), Elem(57,3,0.007388), Elem(57,4,0.005541), + Elem(57,5,0.004433), Elem(57,6,0.003694), Elem(57,7,0.003166), Elem(57,8,0.002770), Elem(64,0,0.000224), Elem(64,1,0.022387), Elem(64,2,0.000224), Elem(64,3,0.000112), + Elem(64,4,0.000075), Elem(64,5,0.000056), Elem(64,6,0.000045), Elem(64,7,0.000037), Elem(64,8,0.000032), Elem(69,0,0.011118), Elem(69,1,0.022214), Elem(69,2,2.216423), + Elem(69,3,0.028878), Elem(69,4,0.011204), Elem(69,5,0.011903), Elem(69,6,0.005630), Elem(69,7,0.004516), Elem(69,8,0.008189), Elem(76,0,0.022163), Elem(76,1,2.216334), + Elem(76,2,0.022163), Elem(76,3,0.011082), Elem(76,4,0.007388), Elem(76,5,0.005541), Elem(76,6,0.004433), Elem(76,7,0.003694), Elem(76,8,0.003166), Elem(81,0,0.003755), + Elem(81,1,0.005269), Elem(81,2,0.031215), Elem(81,3,0.664980), Elem(81,4,0.012256), Elem(81,5,0.447074), Elem(81,6,0.008895), Elem(81,7,0.008332), Elem(81,8,0.445051), + Elem(85,0,0.000737), Elem(85,1,0.000884), Elem(85,2,0.001106), Elem(85,3,0.001474), Elem(85,4,0.002211), Elem(85,5,0.004422), Elem(85,6,0.442217), Elem(85,7,0.004422), + Elem(85,8,0.002211), Elem(88,0,0.001737), Elem(88,1,0.002211), Elem(88,2,0.003096), Elem(88,3,0.005528), Elem(88,4,0.443691), Elem(88,5,0.006633), Elem(88,6,0.006633), + Elem(88,7,0.443691), Elem(88,8,0.005528), }, + { Elem(10,0,0.044774), Elem(10,1,0.000448), Elem(10,2,0.000224), Elem(10,3,0.000149), Elem(10,4,0.000112), Elem(10,5,0.000090), Elem(10,6,0.000075), Elem(10,7,0.000064), + Elem(10,8,0.000056), Elem(22,0,0.000224), Elem(22,1,0.000448), Elem(22,2,0.044774), Elem(22,3,0.000448), Elem(22,4,0.000224), Elem(22,5,0.000149), Elem(22,6,0.000112), + Elem(22,7,0.000090), Elem(22,8,0.000075), Elem(29,0,0.000224), Elem(29,1,0.022387), Elem(29,2,0.000224), Elem(29,3,0.000112), Elem(29,4,0.000075), Elem(29,5,0.000056), + Elem(29,6,0.000045), Elem(29,7,0.000037), Elem(29,8,0.000032), Elem(31,4,0.000022), Elem(31,5,0.000045), Elem(31,6,0.004467), Elem(31,7,0.000045), Elem(31,8,0.000022), + Elem(34,0,0.000091), Elem(34,1,0.000124), Elem(34,2,0.000210), Elem(34,3,0.013485), Elem(34,4,0.004727), Elem(34,5,0.009097), Elem(34,6,0.000246), Elem(34,7,0.004649), + Elem(34,8,0.009046), Elem(43,4,0.000022), Elem(43,5,0.000045), Elem(43,6,0.004467), Elem(43,7,0.000045), Elem(43,8,0.000022), Elem(46,0,0.022405), Elem(46,1,0.000246), + Elem(46,2,0.000143), Elem(46,3,0.000130), Elem(46,4,0.004538), Elem(46,5,0.000112), Elem(46,6,0.000104), Elem(46,7,0.004514), Elem(46,8,0.000084), Elem(50,4,0.000022), + Elem(50,5,0.000045), Elem(50,6,0.004467), Elem(50,7,0.000045), Elem(50,8,0.000022), Elem(53,0,0.000018), Elem(53,1,0.000022), Elem(53,2,0.000031), Elem(53,3,0.000056), + Elem(53,4,0.004482), Elem(53,5,0.000067), Elem(53,6,0.000067), Elem(53,7,0.004482), Elem(53,8,0.000056), Elem(58,0,2.216334), Elem(58,1,0.022163), Elem(58,2,0.011082), + Elem(58,3,0.007388), Elem(58,4,0.005541), Elem(58,5,0.004433), Elem(58,6,0.003694), Elem(58,7,0.003166), Elem(58,8,0.002770), Elem(70,0,0.011118), Elem(70,1,0.022214), + Elem(70,2,2.216423), Elem(70,3,0.028878), Elem(70,4,0.011204), Elem(70,5,0.011903), Elem(70,6,0.005630), Elem(70,7,0.004516), Elem(70,8,0.008189), Elem(77,0,0.022163), + Elem(77,1,2.216334), Elem(77,2,0.022163), Elem(77,3,0.011082), Elem(77,4,0.007388), Elem(77,5,0.005541), Elem(77,6,0.004433), Elem(77,7,0.003694), Elem(77,8,0.003166), + Elem(82,0,0.003755), Elem(82,1,0.005269), Elem(82,2,0.031215), Elem(82,3,0.664980), Elem(82,4,0.012256), Elem(82,5,0.447074), Elem(82,6,0.008895), Elem(82,7,0.008332), + Elem(82,8,0.445051), Elem(86,0,0.000737), Elem(86,1,0.000884), Elem(86,2,0.001106), Elem(86,3,0.001474), Elem(86,4,0.002211), Elem(86,5,0.004422), Elem(86,6,0.442217), + Elem(86,7,0.004422), Elem(86,8,0.002211), Elem(89,0,0.001737), Elem(89,1,0.002211), Elem(89,2,0.003096), Elem(89,3,0.005528), Elem(89,4,0.443691), Elem(89,5,0.006633), + Elem(89,6,0.006633), Elem(89,7,0.443691), Elem(89,8,0.005528), }, + { Elem(11,0,0.044774), Elem(11,1,0.000448), Elem(11,2,0.000224), Elem(11,3,0.000149), Elem(11,4,0.000112), Elem(11,5,0.000090), Elem(11,6,0.000075), Elem(11,7,0.000064), + Elem(11,8,0.000056), Elem(23,0,0.000224), Elem(23,1,0.000448), Elem(23,2,0.044774), Elem(23,3,0.000448), Elem(23,4,0.000224), Elem(23,5,0.000149), Elem(23,6,0.000112), + Elem(23,7,0.000090), Elem(23,8,0.000075), Elem(30,0,0.000448), Elem(30,1,0.044774), Elem(30,2,0.000448), Elem(30,3,0.000224), Elem(30,4,0.000149), Elem(30,5,0.000112), + Elem(30,6,0.000090), Elem(30,7,0.000075), Elem(30,8,0.000064), Elem(32,4,0.000022), Elem(32,5,0.000045), Elem(32,6,0.004467), Elem(32,7,0.000045), Elem(32,8,0.000022), + Elem(35,0,0.000091), Elem(35,1,0.000124), Elem(35,2,0.000210), Elem(35,3,0.013485), Elem(35,4,0.004727), Elem(35,5,0.009097), Elem(35,6,0.000246), Elem(35,7,0.004649), + Elem(35,8,0.009046), Elem(44,4,0.000022), Elem(44,5,0.000045), Elem(44,6,0.004467), Elem(44,7,0.000045), Elem(44,8,0.000022), Elem(47,0,0.022405), Elem(47,1,0.000246), + Elem(47,2,0.000143), Elem(47,3,0.000130), Elem(47,4,0.004538), Elem(47,5,0.000112), Elem(47,6,0.000104), Elem(47,7,0.004514), Elem(47,8,0.000084), Elem(51,4,0.000022), + Elem(51,5,0.000045), Elem(51,6,0.004467), Elem(51,7,0.000045), Elem(51,8,0.000022), Elem(54,0,0.000018), Elem(54,1,0.000022), Elem(54,2,0.000031), Elem(54,3,0.000056), + Elem(54,4,0.004482), Elem(54,5,0.000067), Elem(54,6,0.000067), Elem(54,7,0.004482), Elem(54,8,0.000056), Elem(59,0,2.216334), Elem(59,1,0.022163), Elem(59,2,0.011082), + Elem(59,3,0.007388), Elem(59,4,0.005541), Elem(59,5,0.004433), Elem(59,6,0.003694), Elem(59,7,0.003166), Elem(59,8,0.002770), Elem(66,0,0.000224), Elem(66,1,0.022387), + Elem(66,2,0.000224), Elem(66,3,0.000112), Elem(66,4,0.000075), Elem(66,5,0.000056), Elem(66,6,0.000045), Elem(66,7,0.000037), Elem(66,8,0.000032), Elem(71,0,0.011118), + Elem(71,1,0.022214), Elem(71,2,2.216423), Elem(71,3,0.028878), Elem(71,4,0.011204), Elem(71,5,0.011903), Elem(71,6,0.005630), Elem(71,7,0.004516), Elem(71,8,0.008189), + Elem(78,0,0.022163), Elem(78,1,2.216334), Elem(78,2,0.022163), Elem(78,3,0.011082), Elem(78,4,0.007388), Elem(78,5,0.005541), Elem(78,6,0.004433), Elem(78,7,0.003694), + Elem(78,8,0.003166), Elem(83,0,0.003755), Elem(83,1,0.005269), Elem(83,2,0.031215), Elem(83,3,0.664980), Elem(83,4,0.012256), Elem(83,5,0.447074), Elem(83,6,0.008895), + Elem(83,7,0.008332), Elem(83,8,0.445051), Elem(87,0,0.000737), Elem(87,1,0.000884), Elem(87,2,0.001106), Elem(87,3,0.001474), Elem(87,4,0.002211), Elem(87,5,0.004422), + Elem(87,6,0.442217), Elem(87,7,0.004422), Elem(87,8,0.002211), Elem(90,0,0.001737), Elem(90,1,0.002211), Elem(90,2,0.003096), Elem(90,3,0.005528), Elem(90,4,0.443691), + Elem(90,5,0.006633), Elem(90,6,0.006633), Elem(90,7,0.443691), Elem(90,8,0.005528), }, + { Elem(12,0,0.044774), Elem(12,1,0.000448), Elem(12,2,0.000224), Elem(12,3,0.000149), Elem(12,4,0.000112), Elem(12,5,0.000090), Elem(12,6,0.000075), Elem(12,7,0.000064), + Elem(12,8,0.000056), Elem(24,0,0.000224), Elem(24,1,0.000448), Elem(24,2,0.044774), Elem(24,3,0.000448), Elem(24,4,0.000224), Elem(24,5,0.000149), Elem(24,6,0.000112), + Elem(24,7,0.000090), Elem(24,8,0.000075), Elem(31,0,0.000483), Elem(31,1,0.044819), Elem(31,2,0.000510), Elem(31,3,0.000336), Elem(31,4,0.009113), Elem(31,5,0.000246), + Elem(31,6,0.000224), Elem(31,7,0.009038), Elem(31,8,0.000176), Elem(33,4,0.000022), Elem(33,5,0.000045), Elem(33,6,0.004467), Elem(33,7,0.000045), Elem(33,8,0.000022), + Elem(41,0,0.000074), Elem(41,1,0.000102), Elem(41,2,0.000178), Elem(41,3,0.013429), Elem(41,4,0.000245), Elem(41,5,0.009030), Elem(41,6,0.000179), Elem(41,7,0.000167), + Elem(41,8,0.008990), Elem(45,4,0.000022), Elem(45,5,0.000045), Elem(45,6,0.004467), Elem(45,7,0.000045), Elem(45,8,0.000022), Elem(52,4,0.000022), Elem(52,5,0.000045), + Elem(52,6,0.004467), Elem(52,7,0.000045), Elem(52,8,0.000022), Elem(60,0,2.216446), Elem(60,1,0.022387), Elem(60,2,0.033469), Elem(60,3,0.007612), Elem(60,4,0.005653), + Elem(60,5,0.004507), Elem(60,6,0.003750), Elem(60,7,0.003211), Elem(60,8,0.002808), Elem(67,0,0.000241), Elem(67,1,0.022410), Elem(67,2,0.000255), Elem(67,3,0.000168), + Elem(67,4,0.004556), Elem(67,5,0.000123), Elem(67,6,0.000112), Elem(67,7,0.004519), Elem(67,8,0.000088), Elem(72,0,0.033469), Elem(72,1,0.022387), Elem(72,2,2.216446), + Elem(72,3,0.022238), Elem(72,4,0.011138), Elem(72,5,0.007433), Elem(72,6,0.005578), Elem(72,7,0.004465), Elem(72,8,0.003722), Elem(79,0,0.023901), Elem(79,1,2.218545), + Elem(79,2,0.025259), Elem(79,3,0.016609), Elem(79,4,0.451079), Elem(79,5,0.012174), Elem(79,6,0.011066), Elem(79,7,0.447385), Elem(79,8,0.008694), Elem(84,0,0.003643), + Elem(84,1,0.005046), Elem(84,2,0.008828), Elem(84,3,0.664756), Elem(84,4,0.012144), Elem(84,5,0.446999), Elem(84,6,0.008839), Elem(84,7,0.008287), Elem(84,8,0.445014), + Elem(88,0,0.000737), Elem(88,1,0.000884), Elem(88,2,0.001106), Elem(88,3,0.001474), Elem(88,4,0.002211), Elem(88,5,0.004422), Elem(88,6,0.442217), Elem(88,7,0.004422), + Elem(88,8,0.002211), }, +#else + { Elem(12,0,0.315277), Elem(19,1,0.661660), Elem(12,2,0.443782), Elem(24,3,0.661772), Elem(31,4,2.216334), Elem(36,5,2.216417), Elem(40,6,1.481273), Elem(43,7,0.990112), Elem(48,8,0.990000) }, + { Elem(13,0,0.315277), Elem(20,1,0.661660), Elem(13,2,0.443782), Elem(25,3,0.661660), Elem(32,4,2.216334), Elem(37,5,2.216334), Elem(41,6,1.481273), Elem(44,7,0.990000), Elem(49,8,0.990000) }, + { Elem(14,0,0.315277), Elem(21,1,0.661660), Elem(14,2,0.443782), Elem(26,3,0.661772), Elem(33,4,2.216334), Elem(38,5,2.216417), Elem(42,6,1.481273), Elem(45,7,0.990112), Elem(50,8,0.990000) }, + { Elem(15,0,0.315277), Elem(22,1,0.661660), Elem(15,2,0.443782), Elem(27,3,0.661772), Elem(34,4,2.216334), Elem(39,5,2.216417), Elem(43,6,1.481273), Elem(46,7,0.990112), Elem(51,8,0.990000) }, + { Elem(16,0,0.315277), Elem(23,1,0.661660), Elem(16,2,0.443782), Elem(28,3,0.661772), Elem(35,4,2.216334), Elem(40,5,2.216417), Elem(44,6,1.481273), Elem(47,7,0.990112), Elem(52,8,0.990000) }, + { Elem(17,0,0.315277), Elem(24,1,0.661735), Elem(17,2,0.443782), Elem(29,3,0.661772), Elem(36,4,2.216356), Elem(41,5,2.216367), Elem(45,6,1.481273), Elem(48,7,0.990000), Elem(53,8,0.990000) }, + { Elem(18,0,0.315277), Elem(25,1,0.661660), Elem(18,2,0.443782), Elem(30,3,0.661772), Elem(37,4,2.216334), Elem(42,5,2.216367), Elem(46,6,1.481273), Elem(49,7,0.990000), Elem(54,8,0.990000) }, + { Elem(19,0,0.315277), Elem(26,1,0.661735), Elem(19,2,0.443782), Elem(31,3,0.661660), Elem(38,4,2.216356), Elem(43,5,2.216367), Elem(47,6,1.481273), Elem(50,7,0.990000), Elem(55,8,0.990075) }, + { Elem(20,0,0.315277), Elem(27,1,0.661735), Elem(20,2,0.443782), Elem(32,3,0.661660), Elem(39,4,2.216356), Elem(44,5,2.216367), Elem(48,6,1.481273), Elem(51,7,0.990000), Elem(56,8,0.990075) }, + { Elem(21,0,0.315277), Elem(28,1,0.661735), Elem(21,2,0.443782), Elem(33,3,0.661660), Elem(40,4,2.216356), Elem(45,5,2.216367), Elem(49,6,1.481273), Elem(52,7,0.990000), Elem(57,8,0.990075) }, + { Elem(22,0,0.315277), Elem(29,1,0.661735), Elem(22,2,0.443782), Elem(34,3,0.661660), Elem(41,4,2.216356), Elem(46,5,2.216367), Elem(50,6,1.481273), Elem(53,7,0.990000), Elem(58,8,0.990075) }, + { Elem(23,0,0.315277), Elem(30,1,0.661735), Elem(23,2,0.443782), Elem(35,3,0.661660), Elem(42,4,2.216356), Elem(47,5,2.216367), Elem(51,6,1.481273), Elem(54,7,0.990000), Elem(59,8,0.990075) }, + { Elem(12,0,0.442242), Elem(31,1,0.661660), Elem(24,2,0.442284), Elem(36,3,0.661929), Elem(43,4,2.216434), Elem(48,5,1.481273), Elem(52,6,1.481273), Elem(55,7,0.990075), Elem(60,8,0.990011) }, + { Elem(13,0,0.442242), Elem(32,1,0.661660), Elem(25,2,0.442217), Elem(37,3,0.661660), Elem(44,4,2.216367), Elem(49,5,1.481273), Elem(53,6,1.481273), Elem(56,7,0.990075), Elem(61,8,0.990011) }, + { Elem(14,0,0.442242), Elem(33,1,0.661660), Elem(26,2,0.442284), Elem(38,3,0.661855), Elem(45,4,1.481374), Elem(50,5,1.481273), Elem(54,6,0.990000), Elem(57,7,0.990050), Elem(62,8,0.990011) }, + { Elem(15,0,0.442242), Elem(34,1,0.990000), Elem(27,2,0.442284), Elem(39,3,0.661855), Elem(46,4,1.481374), Elem(51,5,0.990000), Elem(55,6,0.990000), Elem(58,7,0.990050), Elem(63,8,0.990011) }, + { Elem(16,0,0.442242), Elem(35,1,0.990000), Elem(28,2,0.442284), Elem(40,3,0.661855), Elem(47,4,1.481374), Elem(52,5,0.990000), Elem(56,6,0.990000), Elem(59,7,0.990050), Elem(64,8,0.990011) }, + { Elem(17,0,0.661686), Elem(36,1,0.990000), Elem(29,2,0.661761), Elem(41,3,0.990067), Elem(48,4,1.481273), Elem(53,5,0.990000), Elem(57,6,0.990000), Elem(60,7,0.990000), Elem(65,8,0.990017) }, + { Elem(18,0,0.661686), Elem(37,1,0.990000), Elem(30,2,0.661761), Elem(42,3,0.990067), Elem(49,4,1.481273), Elem(54,5,0.990000), Elem(58,6,0.990000), Elem(61,7,0.990000), Elem(66,8,0.990017) }, + { Elem(19,0,0.661686), Elem(38,1,0.990000), Elem(31,2,0.661660), Elem(43,3,0.990050), Elem(50,4,1.481273), Elem(55,5,0.990050), Elem(59,6,0.990000), Elem(62,7,0.990000), Elem(67,8,0.990017) }, + { Elem(20,0,0.661686), Elem(39,1,0.990000), Elem(32,2,0.661660), Elem(44,3,0.990050), Elem(51,4,0.990000), Elem(56,5,0.990050), Elem(60,6,0.990000), Elem(63,7,0.990000), Elem(68,8,0.990017) }, + { Elem(21,0,0.661686), Elem(40,1,0.990000), Elem(33,2,0.661660), Elem(45,3,0.990050), Elem(52,4,0.990000), Elem(57,5,0.990050), Elem(61,6,0.990000), Elem(64,7,0.990000), Elem(69,8,0.990017) }, + { Elem(22,0,0.661686), Elem(41,1,0.990000), Elem(34,2,0.990000), Elem(46,3,0.990050), Elem(53,4,0.990000), Elem(58,5,0.990050), Elem(62,6,0.990000), Elem(65,7,0.990000), Elem(70,8,0.990017) }, + { Elem(23,0,0.661686), Elem(42,1,0.990000), Elem(35,2,0.990000), Elem(47,3,0.990050), Elem(54,4,0.990000), Elem(59,5,0.990050), Elem(63,6,0.990000), Elem(66,7,0.990000), Elem(71,8,0.990017) }, + { Elem(24,0,0.990075), Elem(43,1,0.990133), Elem(36,2,0.990150), Elem(48,3,0.990000), Elem(55,4,0.990033), Elem(60,5,0.990033), Elem(64,6,0.990000), Elem(67,7,0.990000), Elem(72,8,0.990058) }, + { Elem(25,0,0.990025), Elem(44,1,0.990033), Elem(37,2,0.990000), Elem(49,3,0.990000), Elem(56,4,0.990033), Elem(61,5,0.990033), Elem(65,6,0.990000), Elem(68,7,0.990000), Elem(73,8,0.990058) }, + { Elem(26,0,0.990075), Elem(45,1,0.990133), Elem(38,2,0.990150), Elem(50,3,0.990000), Elem(57,4,0.990033), Elem(62,5,0.990033), Elem(66,6,0.990000), Elem(69,7,0.990000), Elem(74,8,0.990058) }, + { Elem(27,0,0.990063), Elem(46,1,0.990133), Elem(39,2,0.990150), Elem(51,3,0.990000), Elem(58,4,0.990033), Elem(63,5,0.990000), Elem(67,6,0.990000), Elem(70,7,0.990000), Elem(75,8,0.990058) }, + { Elem(28,0,0.990075), Elem(47,1,0.990133), Elem(40,2,0.990150), Elem(52,3,0.990000), Elem(59,4,0.990033), Elem(64,5,0.990033), Elem(68,6,0.990000), Elem(71,7,0.990000), Elem(76,8,0.990058) }, + { Elem(29,0,0.990063), Elem(48,1,0.990000), Elem(41,2,0.990050), Elem(53,3,0.990000), Elem(60,4,0.990033), Elem(65,5,0.990000), Elem(69,6,0.990000), Elem(72,7,0.990033), Elem(77,8,0.990013) }, + { Elem(30,0,0.990075), Elem(49,1,0.990000), Elem(42,2,0.990050), Elem(54,3,0.990000), Elem(61,4,0.990033), Elem(66,5,0.990033), Elem(70,6,0.990000), Elem(73,7,0.990033), Elem(78,8,0.990058) }, + { Elem(31,0,0.990025), Elem(50,1,0.990000), Elem(43,2,0.990100), Elem(55,3,0.990100), Elem(62,4,0.990033), Elem(67,5,0.990033), Elem(71,6,0.990000), Elem(74,7,0.990033), Elem(79,8,0.990058) }, + { Elem(32,0,0.990025), Elem(51,1,0.990000), Elem(44,2,0.990100), Elem(56,3,0.990100), Elem(63,4,0.990000), Elem(68,5,0.990033), Elem(72,6,0.990000), Elem(75,7,0.990033), Elem(80,8,0.990058) }, + { Elem(33,0,0.990025), Elem(52,1,0.990000), Elem(45,2,0.990100), Elem(57,3,0.990100), Elem(64,4,0.990033), Elem(69,5,0.990033), Elem(73,6,0.990000), Elem(76,7,0.990033), Elem(81,8,0.990046) }, + { Elem(34,0,0.990025), Elem(53,1,0.990000), Elem(46,2,0.990100), Elem(58,3,0.990100), Elem(65,4,0.990000), Elem(70,5,0.990033), Elem(74,6,0.990000), Elem(77,7,0.990000), Elem(82,8,0.990058) }, + { Elem(35,0,0.990025), Elem(54,1,0.990000), Elem(47,2,0.990100), Elem(59,3,0.990100), Elem(66,4,0.990033), Elem(71,5,0.990033), Elem(75,6,0.990000), Elem(78,7,0.990033), Elem(83,8,0.990058) }, + { Elem(36,0,1.481273), Elem(55,1,0.990000), Elem(48,2,0.990000), Elem(60,3,0.990050), Elem(67,4,0.990033), Elem(72,5,0.990050), Elem(76,6,0.990000), Elem(79,7,0.990033), Elem(84,8,0.990000) }, + { Elem(37,0,1.481273), Elem(56,1,0.990000), Elem(49,2,1.481290), Elem(61,3,0.990050), Elem(68,4,0.990033), Elem(73,5,0.990050), Elem(77,6,0.990000), Elem(80,7,0.990033), Elem(85,8,0.990025) }, + { Elem(38,0,1.481273), Elem(57,1,1.481273), Elem(50,2,1.481290), Elem(62,3,0.990050), Elem(69,4,0.990033), Elem(74,5,0.990050), Elem(78,6,0.990000), Elem(81,7,0.990033), Elem(86,8,0.990025) }, + { Elem(39,0,1.481273), Elem(58,1,1.481273), Elem(51,2,1.481290), Elem(63,3,0.661660), Elem(70,4,0.990033), Elem(75,5,0.990033), Elem(79,6,0.990000), Elem(82,7,0.990033), Elem(87,8,0.990025) }, + { Elem(40,0,1.481273), Elem(59,1,1.481273), Elem(52,2,1.481290), Elem(64,3,0.661711), Elem(71,4,0.661694), Elem(76,5,0.990033), Elem(80,6,0.990000), Elem(83,7,0.990022), Elem(88,8,0.990025) }, + { Elem(41,0,1.481302), Elem(60,1,1.481296), Elem(53,2,1.481290), Elem(65,3,0.661660), Elem(72,4,0.661710), Elem(77,5,0.661660), Elem(81,6,0.990000), Elem(84,7,0.990043), Elem(89,8,0.990025) }, + { Elem(42,0,1.481302), Elem(61,1,1.481296), Elem(54,2,1.481290), Elem(66,3,0.661694), Elem(73,4,0.661710), Elem(78,5,0.661694), Elem(82,6,0.661660), Elem(85,7,0.990043), Elem(90,8,0.990025) }, + { Elem(43,0,1.481358), Elem(62,1,1.481296), Elem(55,2,1.481348), Elem(67,3,0.661703), Elem(74,4,0.661710), Elem(79,5,0.663168), Elem(83,6,0.661660), Elem(86,7,0.661682), Elem(79,8,0.444436) }, + { Elem(44,0,1.481358), Elem(63,1,1.481273), Elem(56,2,1.481348), Elem(68,3,0.661703), Elem(75,4,0.661710), Elem(80,5,0.663168), Elem(84,6,0.661660), Elem(87,7,0.661682), Elem(80,8,0.444436) }, + { Elem(45,0,1.481358), Elem(64,1,1.481296), Elem(57,2,1.481348), Elem(69,3,0.661703), Elem(76,4,0.661710), Elem(81,5,0.663168), Elem(85,6,0.661660), Elem(88,7,0.661682), Elem(81,8,0.444436) }, + { Elem(46,0,1.481358), Elem(65,1,1.481273), Elem(58,2,1.481348), Elem(70,3,0.661703), Elem(77,4,0.661660), Elem(82,5,0.663168), Elem(86,6,0.661660), Elem(89,7,0.661682), Elem(82,8,0.444436) }, + { Elem(47,0,1.481358), Elem(66,1,1.481296), Elem(59,2,1.481348), Elem(71,3,0.661703), Elem(78,4,0.661710), Elem(83,5,0.663168), Elem(87,6,0.661660), Elem(90,7,0.661682), Elem(83,8,0.444436) }, + { Elem(48,0,2.216334), Elem(67,1,1.481303), Elem(60,2,1.481340), Elem(72,3,0.661810), Elem(79,4,0.663184), Elem(84,5,0.663135), Elem(88,6,0.661660), Elem(79,7,0.444447), Elem(84,8,0.444422) }, + { Elem(49,0,2.216353), Elem(68,1,1.481303), Elem(61,2,2.216401), Elem(73,3,0.661884), Elem(80,4,0.663184), Elem(85,5,0.663179), Elem(89,6,0.661660), Elem(80,7,0.444447), Elem(85,8,0.444450) }, + { Elem(50,0,2.216353), Elem(69,1,2.216356), Elem(62,2,2.216401), Elem(74,3,0.661884), Elem(81,4,0.443765), Elem(86,5,0.663179), Elem(90,6,0.442217), Elem(81,7,0.443728), Elem(86,8,0.444450) }, + { Elem(51,0,2.216353), Elem(70,1,2.216356), Elem(63,2,2.216334), Elem(75,3,0.661884), Elem(82,4,0.443765), Elem(87,5,0.663179), Elem(79,6,0.442217), Elem(82,7,0.443728), Elem(87,8,0.444450) }, + { Elem(52,0,2.216353), Elem(71,1,2.216356), Elem(64,2,2.216401), Elem(76,3,0.661884), Elem(83,4,0.443765), Elem(88,5,0.663179), Elem(80,6,0.442217), Elem(83,7,0.443728), Elem(88,8,0.444450) }, + { Elem(53,0,2.216353), Elem(72,1,2.216334), Elem(65,2,2.216334), Elem(77,3,0.661660), Elem(84,4,0.443691), Elem(89,5,0.663179), Elem(81,6,0.442217), Elem(84,7,0.443691), Elem(89,8,0.444450) }, + { Elem(54,0,2.216348), Elem(73,1,2.216334), Elem(66,2,2.216401), Elem(78,3,0.661884), Elem(85,4,0.443691), Elem(90,5,0.443736), Elem(82,6,0.442217), Elem(85,7,0.443691), Elem(90,8,0.443719) }, + { Elem(55,0,2.216334), Elem(74,1,2.216334), Elem(67,2,2.216423), Elem(79,3,0.664980), Elem(86,4,0.443691), Elem(79,5,0.447074), Elem(83,6,0.442217), Elem(86,7,0.443691), Elem(79,8,0.445051) }, + { Elem(56,0,2.216334), Elem(75,1,2.216334), Elem(68,2,2.216423), Elem(80,3,0.664980), Elem(87,4,0.443691), Elem(80,5,0.447074), Elem(84,6,0.442217), Elem(87,7,0.443691), Elem(80,8,0.445051) }, + { Elem(57,0,2.216334), Elem(76,1,2.216334), Elem(69,2,2.216423), Elem(81,3,0.664980), Elem(88,4,0.443691), Elem(81,5,0.447074), Elem(85,6,0.442217), Elem(88,7,0.443691), Elem(81,8,0.445051) }, + { Elem(58,0,2.216334), Elem(77,1,2.216334), Elem(70,2,2.216423), Elem(82,3,0.664980), Elem(89,4,0.443691), Elem(82,5,0.447074), Elem(86,6,0.442217), Elem(89,7,0.443691), Elem(82,8,0.445051) }, + { Elem(59,0,2.216334), Elem(78,1,2.216334), Elem(71,2,2.216423), Elem(83,3,0.664980), Elem(90,4,0.443691), Elem(83,5,0.447074), Elem(87,6,0.442217), Elem(90,7,0.443691), Elem(83,8,0.445051) }, + { Elem(60,0,2.216446), Elem(79,1,2.218545), Elem(72,2,2.216446), Elem(84,3,0.664756), Elem(79,4,0.451079), Elem(84,5,0.446999), Elem(88,6,0.442217), Elem(79,7,0.447385), Elem(84,8,0.445014) }, +#endif + }; //--------------------------------------------------------- // cb2amp @@ -63,14 +1371,16 @@ double Organ::cb2amp(int cb) return cb2amp_tab[cb]; } +static const int SHIFT = 10; +static const int RESO = 1024; + //--------------------------------------------------------- // Organ //--------------------------------------------------------- Organ::Organ(int sr) - : Mess(1) + : Mess2(1) { - idata = new int[NUM_CONTROLLER]; setSampleRate(sr); gui = 0; @@ -78,43 +1388,39 @@ Organ::Organ(int sr) if (useCount > 1) return; + resolution = sr / 1000; + resolution256 = resolution << SHIFT; + // centibels to amplitude conversion for (int i = 0; i < MAX_ATTENUATION; i++) cb2amp_tab[i] = pow(10.0, double(i) / -200.0); - for (int i = 0; i < 128; ++i) { - double freq = 8.176 * exp(double(i)*log(2.0)/12.0); - freq256[i] = (int) (freq * ((double) RESOLUTION) / sr * 256.0); + // Initialize sine table. + waveTable = new float[resolution]; + for (int i = 0; i < resolution; i++) + waveTable[i] = sin (i * 2.0 * M_PI / double(resolution)); + + // Initialize envelope tables + + envSize = sr * 4 / 1000; // 4 msec + attackEnv = new float[envSize]; + releaseEnv = new float[envSize]; + + for (int i = 0; i < envSize; ++i) { + attackEnv[i] = float(i) / float(envSize); + releaseEnv[i] = float(i) / float(envSize); } - int size = RESOLUTION; - int half = size / 2; - int slope = size / 10; - int i; - // Initialize sine table. - sine_table = new float[size]; - for (i = 0; i < size; i++) - sine_table[i] = sin ((i * 2.0 * M_PI) / size) / 6.0; - - // Initialize triangle table. - g_triangle_table = new float[size]; - for (i = 0; i < half; i++) - g_triangle_table[i] = (4.0 / size * i - 1.0) / 6.0; - for (; i < size; i++) - g_triangle_table[i] = (4.0 / size * (size - i) - 1.0) / 6.0; - - // Initialize pulse table. - g_pulse_table = new float[size]; - for (i = 0; i < slope; i++) - g_pulse_table[i] = (((double) -i) / slope) / 6.0; - for (; i < half - slope; i++) - g_pulse_table[i] = -1.0 / 6.0; - for (; i < half + slope; i++) - g_pulse_table[i] = (((double) i - half) / slope) / 6.0; - for (; i < size - slope; i++) - g_pulse_table[i] = 1.0 / 6.0; - for (; i < size; i++) - g_pulse_table[i] = (((double) size - i) / slope) / 6.0; + addController("drawbar16", DRAWBAR0, 0, 8, 8); + addController("drawbar513", DRAWBAR1, 0, 8, 8); + addController("drawbar8", DRAWBAR2, 0, 8, 8); + addController("drawbar4", DRAWBAR3, 0, 8, 0); + addController("drawbar223", DRAWBAR4, 0, 8, 0); + addController("drawbar2", DRAWBAR5, 0, 8, 0); + addController("drawbar135", DRAWBAR6, 0, 8, 0); + addController("drawbar113", DRAWBAR7, 0, 8, 0); + addController("drawbar1", DRAWBAR8, 0, 8, 0); + addController("volume", CTRL_VOLUME, 0, 127, 100); } //--------------------------------------------------------- @@ -125,28 +1431,15 @@ Organ::~Organ() { if (gui) delete gui; - delete[] idata; --useCount; if (useCount == 0) { - delete[] g_pulse_table; - delete[] g_triangle_table; - delete[] sine_table; + delete[] waveTable; + delete[] attackEnv; + delete[] releaseEnv; } } //--------------------------------------------------------- -// table_pos -//--------------------------------------------------------- - -static inline float table_pos (float* table, unsigned long freq_256, unsigned *accum) - { - *accum += freq_256; - while (*accum >= RESOLUTION * 256) - *accum -= RESOLUTION * 256; - return table[*accum >> 8]; - } - -//--------------------------------------------------------- // init //--------------------------------------------------------- @@ -156,10 +1449,35 @@ bool Organ::init(const char* name) gui->hide(); gui->setWindowTitle(QString(name)); - for (int i = 0; i < NUM_CONTROLLER; ++i) - setController(0, synthCtrl[i].num, synthCtrl[i].val); + int idx = 0; + foreach(SynthCtrl* c, ctrl) { + setController(c->ctrl, c->init); + gui->setParamIdx(idx, c->init); + ++idx; + } + + // see: http://www.dairiki.org/HammondWiki/GearRatio + static const int gearA[12] = { 85, 71,67,35,69,12,37,49,48,11,67,54 }; + static const int gearB[12] = { 104,82,73,36,67,11,32,40,37, 8,46,35 }; + static const int teeth[] = { 2, 4, 8, 16, 32, 64, 128, 192 }; - for (int i = 0; i < VOICES; ++i) + srand(22); + for (int i = 0; i < NO_WHEELS; ++i) { + int note = i % 12; + int octave = i / 12; + if (octave == 7) + note += 5; + // in 60Hz organs, the motor turns at 1200 RPM (20 revolutions /sec) + double freq = 20.0 * teeth[octave] * gearA[note] / gearB[note]; + wheels[i].freq256 = lrint(freq * double(resolution256) / double(sampleRate())); + wheels[i].accu = rand() % resolution256; + wheels[i].refCount = 0; + wheels[i].active = false; + for (int k = 0; k < NO_BUSES; ++k) + wheels[i].envCount[k] = 0; + } + + for (int i = 0; i < NO_VOICES; ++i) voices[i].isOn = false; return false; } @@ -186,151 +1504,35 @@ void Organ::process(float** ports, int offset, int sampleCount) } float* buffer = *ports + offset; - for (int i = 0; i < VOICES; ++i) { - Voice* v = &voices[i]; - if (!v->isOn) - continue; - double vol = velo ? v->velocity : 1.0; - vol *= volume; - - unsigned freq_256 = freq256[v->pitch]; - unsigned* harm0_accum = &(v->harm0_accum); - unsigned* harm1_accum = &(v->harm1_accum); - unsigned* harm2_accum = &(v->harm2_accum); - unsigned* harm3_accum = &(v->harm3_accum); - unsigned* harm4_accum = &(v->harm4_accum); - unsigned* harm5_accum = &(v->harm5_accum); - - unsigned long freq_256_harm2, freq_256_harm3; - unsigned long freq_256_harm4, freq_256_harm5; - - float* reed_table = reed ? g_pulse_table : sine_table; - float* flute_table = flute ? g_triangle_table : sine_table; - - unsigned freq_256_harm0 = freq_256 / 2; - unsigned freq_256_harm1 = freq_256; - - if (brass) { - freq_256_harm2 = freq_256 * 2; - freq_256_harm3 = freq_256_harm2 * 2; - freq_256_harm4 = freq_256_harm3 * 2; - freq_256_harm5 = freq_256_harm4 * 2; - for (int i = 0; i < sampleCount; i++) { - int a1, a2; - switch(v->state1) { - case ATTACK: - if (v->envL1.step(&a1)) - break; - v->state1 = DECAY; - case DECAY: - if (v->envL2.step(&a1)) - break; - v->state1 = SUSTAIN; - case SUSTAIN: - a1 = sustain0; - break; - case RELEASE: - if (v->envL3.step(&a1)) - break; - v->state1 = OFF; - a1 = MAX_ATTENUATION; - break; - } - switch(v->state2) { - case ATTACK: - if (v->envH1.step(&a2)) - break; - v->state2 = DECAY; - case DECAY: - if (v->envH2.step(&a2)) - break; - v->state2 = SUSTAIN; - case SUSTAIN: - a2 = sustain1; - break; - case RELEASE: - if (v->envH3.step(&a2)) - break; - v->state2 = OFF; - a1 = MAX_ATTENUATION; - break; - } - if (v->state1 == OFF && v->state2 == OFF) { - v->isOn = false; - break; - } - buffer[i] += - (table_pos (sine_table, freq_256_harm0, harm0_accum) * harm0 - + table_pos (sine_table, freq_256_harm1, harm1_accum) * harm1 - + table_pos (reed_table, freq_256_harm2, harm2_accum) * harm2) - * cb2amp(a1) * vol - + (table_pos (sine_table, freq_256_harm3, harm3_accum) * harm3 - + table_pos (flute_table, freq_256_harm4, harm4_accum) * harm4 - + table_pos (flute_table, freq_256_harm5, harm5_accum) * harm5) - * cb2amp(a2) * vol; - } - } - else { - freq_256_harm2 = freq_256 * 3 / 2; - freq_256_harm3 = freq_256 * 2; - freq_256_harm4 = freq_256 * 3; - freq_256_harm5 = freq_256_harm3 * 2; - for (int i = 0; i < sampleCount; i++) { - int a1, a2; - switch(v->state1) { - case ATTACK: - if (v->envL1.step(&a1)) - break; - v->state1 = DECAY; - case DECAY: - if (v->envL2.step(&a1)) - break; - v->state1 = SUSTAIN; - case SUSTAIN: - a1 = sustain0; - break; - case RELEASE: - if (v->envL3.step(&a1)) - break; - v->state1 = OFF; - a1 = MAX_ATTENUATION; - break; + memset(buffer, 0, sizeof(float) * sampleCount); + foreach(Wheel* w, activeWheels) { + for (int i = 0; i < sampleCount; ++i) { + + w->accu = (w->accu + w->freq256) % resolution256; + float val = waveTable[w->accu >> SHIFT]; + + for (int k = 0; k < NO_BUSES; ++k) { + int* envCnt = &(w->envCount[k]); + if (*envCnt > 0) { + (*envCnt)--; + float gain = w->gain[k] - w->deltaGain[k] * w->env[k][*envCnt]; + buffer[i] += val * gain * drawBarGain[k]; + if ((*envCnt == 0) && (w->refCount == 0)) { + int idx = activeWheels.indexOf(w); + if (idx != -1) { + activeWheels.removeAt(idx); + w->active = false; + } + } } - switch(v->state2) { - case ATTACK: - if (v->envH1.step(&a2)) - break; - v->state2 = DECAY; - case DECAY: - if (v->envH2.step(&a2)) - break; - v->state2 = SUSTAIN; - case SUSTAIN: - a2 = sustain1; - break; - case RELEASE: - if (v->envH3.step(&a2)) - break; - v->state2 = OFF; - a1 = MAX_ATTENUATION; - break; + else { + buffer[i] += val * w->gain[k] * drawBarGain[k]; } - if (v->state1 == OFF && v->state2 == OFF) { - v->isOn = false; - break; - } - buffer[i] += - (table_pos (sine_table, freq_256_harm0, harm0_accum) * harm0 - + table_pos (sine_table, freq_256_harm1, harm1_accum) * harm1 - + table_pos (sine_table, freq_256_harm2, harm2_accum) * harm2) - * cb2amp(a1) * vol - + (table_pos (reed_table, freq_256_harm3, harm3_accum) * harm3 - + table_pos (sine_table, freq_256_harm4, harm4_accum) * harm4 - + table_pos (flute_table, freq_256_harm5, harm5_accum) * harm5) - * cb2amp(a2) * vol; } } } + for (int i = 0; i < sampleCount; ++i) + buffer[i] *= volume; } //--------------------------------------------------------- @@ -339,34 +1541,44 @@ void Organ::process(float** ports, int offset, int sampleCount) bool Organ::playNote(int channel, int pitch, int velo) { + if (pitch < 36 || pitch > 97) + return false; if (velo == 0) { noteoff(channel, pitch); return false; } - for (int i = 0; i < VOICES; ++i) { + int tone = pitch - 36; + for (int i = 0; i < NO_VOICES; ++i) { if (voices[i].isOn) continue; - voices[i].isOn = true; - voices[i].pitch = pitch; - voices[i].channel = channel; - // velo is never 0 - voices[i].velocity = cb2amp(int(200 * log10((127.0 * 127)/(velo*velo)))); - voices[i].state1 = ATTACK; - voices[i].state2 = ATTACK; - voices[i].envL1.set(attack0, MAX_ATTENUATION, 0); - voices[i].envL2.set(decay0, MAX_ATTENUATION, sustain0); - voices[i].envL3.set(release0, sustain0, MAX_ATTENUATION); - - voices[i].envH1.set(attack1, MAX_ATTENUATION, 0); - voices[i].envH2.set(decay1, MAX_ATTENUATION, sustain1); - voices[i].envH3.set(release1, sustain1, MAX_ATTENUATION); - - voices[i].harm0_accum = 0; - voices[i].harm1_accum = 0; - voices[i].harm2_accum = 0; - voices[i].harm3_accum = 0; - voices[i].harm4_accum = 0; - voices[i].harm5_accum = 0; + voices[i].isOn = true; + voices[i].pitch = pitch; + for (int k = 0; k < NO_ELEMENTS; ++k) { + const Elem* e = &routing[tone][k]; + if (e->bus == -1) + break; + Wheel* w = &wheels[e->wheel]; + int bus = e->bus; + float level = e->level; + if (!w->active) { + for (int k = 0; k < NO_BUSES; ++k) { + w->gain[k] = 0.0; + w->envCount[k] = 0; + } + activeWheels.append(w); + w->active = true; + w->envCount[bus] = 0; + } + float deltaGain = level; + if (w->envCount[bus]) { + deltaGain += w->deltaGain[bus] * w->env[bus][w->envCount[bus]]; + } + w->envCount[bus] = envSize; + w->env[bus] = attackEnv; + w->deltaGain[bus] = deltaGain; + w->gain[bus] += level; + w->refCount++; + } return false; } printf("organ: voices overflow!\n"); @@ -379,145 +1591,79 @@ bool Organ::playNote(int channel, int pitch, int velo) void Organ::noteoff(int channel, int pitch) { - bool found = false; - for (int i = 0; i < VOICES; ++i) { - if (voices[i].isOn && (voices[i].pitch == pitch) - && (voices[i].channel == channel)) { - found = true; - voices[i].state1 = RELEASE; - voices[i].state2 = RELEASE; - } - } - if (!found) { - printf("Organ: noteoff %d:%d not found\n", channel, pitch); - for (int i = 0; i < VOICES; ++i) { - if (voices[i].isOn) - printf(" %d\n", voices[i].pitch); + int tone = pitch - 36; + for (int i = 0; i < NO_VOICES; ++i) { + if (voices[i].isOn && (voices[i].pitch == pitch)) { + voices[i].isOn = false; + for (int k = 0; k < NO_ELEMENTS; ++k) { + const Elem* e = &routing[tone][k]; + if (e->bus == -1) + break; + Wheel* w = &wheels[e->wheel]; + int bus = e->bus; + float level = e->level; + + float deltaGain = -level; + if (w->envCount[bus]) { + deltaGain += w->deltaGain[bus] * w->env[bus][w->envCount[bus]]; + } + w->envCount[bus] = envSize; + w->env[bus] = releaseEnv; + w->deltaGain[bus] = deltaGain; + w->gain[bus] -= level; + if (w->refCount) + w->refCount--; + } + return; } } + printf("Organ: noteoff %d:%d not found\n", channel, pitch); } //--------------------------------------------------------- // setController //--------------------------------------------------------- -void Organ::setController(int ctrl, int data) +void Organ::setController(int ctrlId, int data) { - int sr = sampleRate(); - switch (ctrl) { - case HARM0: - harm0 = cb2amp(-data); - break; - case HARM1: - harm1 = cb2amp(-data); - break; - case HARM2: - harm2 = cb2amp(-data); - break; - case HARM3: - harm3 = cb2amp(-data); - break; - case HARM4: - harm4 = cb2amp(-data); - break; - case HARM5: - harm5 = cb2amp(-data); - break; - case ATTACK_LO: // maxval -> 500msec - attack0 = (data * sr) / 1000; - break; - case DECAY_LO: // maxval -> 5000msec - decay0 = (data * sr) / 1000; - break; - case SUSTAIN_LO: - sustain0 = -data; - break; - case RELEASE_LO: - release0 = (data * sr) / 1000; - break; - case ATTACK_HI: - attack1 = (data * sr) / 1000; - break; - case DECAY_HI: - decay1 = (data * sr) / 1000; - break; - case SUSTAIN_HI: - sustain1 = -data; - break; - case RELEASE_HI: - release1 = (data * sr) / 1000; - break; - case BRASS: - brass = data; - break; - case FLUTE: - flute = data; - break; - case REED: - reed = data; - break; - case VELO: - velo = data; + int ctrlIdx = controllerIdx(ctrlId); + if (ctrlIdx != -1) + ctrl[ctrlIdx]->val = data; + + switch (ctrlId) { + case DRAWBAR0 ... DRAWBAR8: + { + int db = ctrlId - DRAWBAR0; + drawBarGain[db] = float(data) / 8.0; + } break; case CTRL_VOLUME: data &= 0x7f; volume = data == 0 ? 0.0 : cb2amp(int(200 * log10((127.0 * 127)/(data*data)))); + volume *= .04; break; case CTRL_ALL_SOUNDS_OFF: - for (int i = 0; i < VOICES; ++i) + for (int i = 0; i < NO_VOICES; ++i) voices[i].isOn = false; break; case CTRL_RESET_ALL_CTRL: - for (int i = 0; i < NUM_CONTROLLER; ++i) - setController(0, synthCtrl[i].num, synthCtrl[i].val); +// for (int i = 0; i < NUM_CONTROLLER; ++i) +// setController(0, synthCtrl[i].num, synthCtrl[i].val); break; default: -// fprintf(stderr, "Organ:set unknown Ctrl 0x%x to 0x%x\n", ctrl, data); + fprintf(stderr, "Organ:set unknown Ctrl 0x%x to 0x%x\n", ctrlId, data); return; } - for (int i = 0; i < NUM_CONTROLLER; ++i) { - if (synthCtrl[i].num == ctrl) { - synthCtrl[i].val = data; - break; - } - } } //--------------------------------------------------------- // setController //--------------------------------------------------------- -bool Organ::setController(int channel, int ctrl, int data) +bool Organ::setController(int channel, int ctrlId, int data) { - setController(ctrl, data); - - switch (ctrl) { - case HARM0: - case HARM1: - case HARM2: - case HARM3: - case HARM4: - case HARM5: - case ATTACK_LO: - case DECAY_LO: - case SUSTAIN_LO: - case RELEASE_LO: - case ATTACK_HI: - case DECAY_HI: - case SUSTAIN_HI: - case RELEASE_HI: - case BRASS: - case FLUTE: - case REED: - case VELO: - { - MidiEvent ev(0, channel, ME_CONTROLLER, ctrl, data); - gui->writeEvent(ev); - } - break; - default: - break; - } + MidiEvent ev(0, channel, ME_CONTROLLER, ctrlId, data); + gui->writeEvent(ev); return false; } @@ -527,52 +1673,25 @@ bool Organ::setController(int channel, int ctrl, int data) bool Organ::sysex(int n, const unsigned char* data) { - if (unsigned(n) != (NUM_INIT_CONTROLLER * sizeof(int))) { - printf("Organ: unknown sysex\n"); + int nn = ctrl.size() * sizeof(int); + if (nn != n) { + printf("unknown sysex %d %02x %02x\n", n, data[0], data[1]); return false; } - int* s = (int*) data; - for (int i = 0; i < NUM_INIT_CONTROLLER; ++i) { - int val = *s++; - setController(0, synthCtrl[i].num, val); + const int* s = (const int*) data; + for (int i = 0; i < ctrl.size(); ++i) { + setController(0, ctrl[i]->ctrl, *s); + setController(ctrl[i]->ctrl, *s); + s++; } return false; } //--------------------------------------------------------- -// getInitData -//--------------------------------------------------------- - -void Organ::getInitData(int* n, const unsigned char**p) - { - int* d = idata; - for (int i = 0; i < NUM_INIT_CONTROLLER; ++i) - *d++ = synthCtrl[i].val; - *n = NUM_INIT_CONTROLLER * sizeof(int); // sizeof(idata); - *p = (unsigned char*)idata; - } - -//--------------------------------------------------------- // MESS //--------------------------------------------------------- //--------------------------------------------------------- -// getControllerInfo -//--------------------------------------------------------- - -int Organ::getControllerInfo(int id, const char** name, int* controller, - int* min, int* max) - { - if (id >= NUM_CONTROLLER) - return 0; - *controller = synthCtrl[id].num; - *name = synthCtrl[id].name; - *min = 0; - *max = 128*128-1; - return ++id; - } - -//--------------------------------------------------------- // guiVisible //--------------------------------------------------------- diff --git a/muse/synti/organ/organ.h b/muse/synti/organ/organ.h index ec458f10..92f63114 100644 --- a/muse/synti/organ/organ.h +++ b/muse/synti/organ/organ.h @@ -14,91 +14,41 @@ #define __ORGAN_H__ #include "muse/midictrl.h" -#include "libsynti/mess.h" - -#define RESOLUTION (16384*2) -#define VOICES 128 // max polyphony +#include "libsynti/mess2.h" +static const int NO_VOICES = 128; // max polyphony +static const int NO_KEYS = 97 - 36; class OrganGui; static const int MAX_ATTENUATION = 960; - -enum EnvelopeState { - ATTACK, - DECAY, - SUSTAIN, - RELEASE, - OFF +static const int NO_BUSES = 9; +static const int NO_WHEELS = 91; +static const int NO_ELEMENTS = 194; + +enum { + DRAWBAR0 = CTRL_RPN14_OFFSET, DRAWBAR1, DRAWBAR2, + DRAWBAR3, DRAWBAR4, DRAWBAR5, DRAWBAR6, DRAWBAR7, DRAWBAR8, + ATTACK_LO, DECAY_LO, SUSTAIN_LO, RELEASE_LO, + ATTACK_HI, DECAY_HI, SUSTAIN_HI, RELEASE_HI, + BRASS, FLUTE, REED, VELO }; //--------------------------------------------------------- -// Envelope +// Wheel //--------------------------------------------------------- -struct Envelope { - int ticks; // len of segment - int error, delta, schritt; - int y, yinc; - - void set(int t, int y1, int y2) { - ticks = t; - y = y1; - int dy = y2 - y1; - int dx = t; - error = -dx; - schritt = 2*dx; - if (dy < 0) { - yinc = -1; - delta = -2 * dy; - } - else { - yinc = 1; - delta = 2 * dy; - } - } - - // return false on envelope end - bool step(int* a) { - *a = y; - if (ticks == 0) - return false; - error += delta; - while (error > 0) { - y += yinc; - error -= schritt; - } - --ticks; - return true; - } - }; - -static const int HARM0 = 0 + CTRL_RPN14_OFFSET; -static const int HARM1 = 1 + CTRL_RPN14_OFFSET; -static const int HARM2 = 2 + CTRL_RPN14_OFFSET; -static const int HARM3 = 3 + CTRL_RPN14_OFFSET; -static const int HARM4 = 4 + CTRL_RPN14_OFFSET; -static const int HARM5 = 5 + CTRL_RPN14_OFFSET; -static const int ATTACK_LO = 6 + CTRL_RPN14_OFFSET; -static const int DECAY_LO = 7 + CTRL_RPN14_OFFSET; -static const int SUSTAIN_LO = 8 + CTRL_RPN14_OFFSET; -static const int RELEASE_LO = 9 + CTRL_RPN14_OFFSET; -static const int ATTACK_HI = 10 + CTRL_RPN14_OFFSET; -static const int DECAY_HI = 11 + CTRL_RPN14_OFFSET; -static const int SUSTAIN_HI = 12 + CTRL_RPN14_OFFSET; -static const int RELEASE_HI = 13 + CTRL_RPN14_OFFSET; -static const int BRASS = 14 + CTRL_RPN14_OFFSET; -static const int FLUTE = 15 + CTRL_RPN14_OFFSET; -static const int REED = 16 + CTRL_RPN14_OFFSET; -static const int VELO = 17 + CTRL_RPN14_OFFSET; +struct Wheel { + unsigned freq256; + unsigned accu; -//--------------------------------------------------------- -// SynthCtrl -//--------------------------------------------------------- + int refCount; + bool active; + float gain[NO_BUSES]; -struct SynthCtrl { - const char* name; - int num; - int val; + // envelopes: + float* env[NO_BUSES]; + int envCount[NO_BUSES]; + float deltaGain[NO_BUSES]; }; //--------------------------------------------------------- @@ -108,64 +58,41 @@ struct SynthCtrl { struct Voice { bool isOn; int pitch; - int channel; - - double velocity; - - int state1, state2; - Envelope envL1, envL2, envL3; - Envelope envH1, envH2, envH3; - - unsigned harm0_accum; - unsigned harm1_accum; - unsigned harm2_accum; - unsigned harm3_accum; - unsigned harm4_accum; - unsigned harm5_accum; }; -//--------------------------------------------------------- -// Preset -//--------------------------------------------------------- +struct Elem { + short wheel; + short bus; + float level; -struct Preset { - char* name; - bool brass, flute, reed; - int attack0, attack1; - int release0, release1; - int decay0, decay1; - double harm0, harm1, harm2, harm3, harm4, harm5; - bool velo; + Elem() { bus = -1; } + Elem(short w, short b, float l) : wheel(w), bus(b), level(l) {} }; //--------------------------------------------------------- // Organ //--------------------------------------------------------- -class Organ : public Mess { +class Organ : public Mess2 { static int useCount; + static float* waveTable; static double cb2amp_tab[MAX_ATTENUATION]; - static unsigned freq256[128]; + static unsigned freq256[128][NO_BUSES]; static double cb2amp(int cb); + static Elem routing[NO_KEYS][NO_ELEMENTS]; + static float* attackEnv; + static float* releaseEnv; + static int envSize; + static int resolution; + static int resolution256; - int* idata; // buffer for init data - - bool brass, flute, reed; - int attack0, attack1; - int release0, release1; - int decay0, decay1; // ticks - int sustain0, sustain1; // centibel - bool velo; double volume; - double harm0, harm1, harm2, harm3, harm4, harm5; - - Voice voices[VOICES]; - - static float* sine_table; - static float* g_triangle_table; - static float* g_pulse_table; + float drawBarGain[NO_BUSES]; + Wheel wheels[NO_WHEELS]; + Voice voices[NO_VOICES]; + QList<Wheel*> activeWheels; void noteoff(int channel, int pitch); void setController(int ctrl, int val); @@ -175,9 +102,6 @@ class Organ : public Mess { virtual bool setController(int channel, int ctrl, int val); virtual bool sysex(int, const unsigned char*); - virtual int getControllerInfo(int, const char**, int*, int*, int*); - virtual void getInitData(int*, const unsigned char**); - virtual bool guiVisible() const; virtual void showGui(bool); virtual bool hasGui() const { return true; } @@ -187,7 +111,7 @@ class Organ : public Mess { OrganGui* gui; public: - static SynthCtrl synthCtrl[]; + friend class OrganGui; Organ(int sampleRate); ~Organ(); bool init(const char* name); diff --git a/muse/synti/organ/organgui.cpp b/muse/synti/organ/organgui.cpp index 0264a073..c00d23fb 100644 --- a/muse/synti/organ/organgui.cpp +++ b/muse/synti/organ/organgui.cpp @@ -6,19 +6,19 @@ // This is a simple GUI implemented with QT for // organ software synthesizer. // -// (C) Copyright 2001-2004 Werner Schweer (ws@seh.de) +// (C) Copyright 2001-2007 Werner Schweer (ws@seh.de) //========================================================= #include "organgui.h" #include "muse/midi.h" #include "muse/midictrl.h" +#include "awl/knob.h" //--------------------------------------------------------- // OrganGui //--------------------------------------------------------- OrganGui::OrganGui() -// : QWidget(0, "organgui", Qt::WType_TopLevel), : QWidget(0), MessGui() { @@ -26,78 +26,139 @@ OrganGui::OrganGui() QSocketNotifier* s = new QSocketNotifier(readFd, QSocketNotifier::Read); connect(s, SIGNAL(activated(int)), SLOT(readMessage(int))); - dctrl[0] = SynthGuiCtrl(p1, lcd1, SynthGuiCtrl::SLIDER); - dctrl[1] = SynthGuiCtrl(p2, lcd2, SynthGuiCtrl::SLIDER); - dctrl[2] = SynthGuiCtrl(p3, lcd3, SynthGuiCtrl::SLIDER); - dctrl[3] = SynthGuiCtrl(p4, lcd4, SynthGuiCtrl::SLIDER); - dctrl[4] = SynthGuiCtrl(p5, lcd5, SynthGuiCtrl::SLIDER); - dctrl[5] = SynthGuiCtrl(p6, lcd6, SynthGuiCtrl::SLIDER); - dctrl[6] = SynthGuiCtrl(p7, lcd7, SynthGuiCtrl::SLIDER); - dctrl[7] = SynthGuiCtrl(p8, lcd8, SynthGuiCtrl::SLIDER); - dctrl[8] = SynthGuiCtrl(p9, lcd9, SynthGuiCtrl::SLIDER); - dctrl[9] = SynthGuiCtrl(p10, lcd10, SynthGuiCtrl::SLIDER); - dctrl[10] = SynthGuiCtrl(p11, lcd11, SynthGuiCtrl::SLIDER); - dctrl[11] = SynthGuiCtrl(p12, lcd12, SynthGuiCtrl::SLIDER); - dctrl[12] = SynthGuiCtrl(p13, lcd13, SynthGuiCtrl::SLIDER); - dctrl[13] = SynthGuiCtrl(p14, lcd14, SynthGuiCtrl::SLIDER); - dctrl[14] = SynthGuiCtrl(sw1, 0, SynthGuiCtrl::SWITCH); - dctrl[15] = SynthGuiCtrl(sw3, 0, SynthGuiCtrl::SWITCH); - dctrl[16] = SynthGuiCtrl(sw2, 0, SynthGuiCtrl::SWITCH); - dctrl[17] = SynthGuiCtrl(sw4, 0, SynthGuiCtrl::SWITCH); - map = new QSignalMapper(this); - for (int i = 0; i < NUM_GUI_CONTROLLER; ++i) { - map->setMapping(dctrl[i].editor, i); - if (dctrl[i].type == SynthGuiCtrl::SLIDER) - connect((QSlider*)(dctrl[i].editor), SIGNAL(valueChanged(int)), map, SLOT(map())); - else if (dctrl[i].type == SynthGuiCtrl::SWITCH) - connect((QCheckBox*)(dctrl[i].editor), SIGNAL(toggled(bool)), map, SLOT(map())); + QList<QWidget*> wl = findChildren<QWidget*>(); + foreach(QWidget* w, wl) { + int idx = Mess2::controllerIdx(w->objectName().toAscii().data()); + if (idx == -1) + continue; + w->setProperty("ctrlIdx", idx); + map->setMapping(w, w); + const char* cname = w->metaObject()->className(); + if (strcmp(cname, "QSlider") == 0) { + QSlider* slider = (QSlider*)w; + w->setProperty("ctrlType", 0); + connect(slider, SIGNAL(valueChanged(int)), map, SLOT(map())); + } + else if (strcmp(cname, "QCheckBox") == 0) { + w->setProperty("ctrlType", 1); + connect(w, SIGNAL(toggled(bool)), map, SLOT(map())); + } + else if (strcmp(cname, "QGroupBox") == 0) { + w->setProperty("ctrlType", 2); + connect(w, SIGNAL(toggled(bool)), map, SLOT(map())); + } + else if (strcmp(cname, "Awl::Knob") == 0) { + w->setProperty("ctrlType", 3); + connect(w, SIGNAL(valueChanged(double,int)), map, SLOT(map())); + } + else if (strcmp(cname, "QPushButton") == 0) { + w->setProperty("ctrlType", 4); + connect(w, SIGNAL(toggled(bool)), map, SLOT(map())); + } + else if (strcmp(cname, "Awl::Drawbar") == 0) { + Awl::Drawbar* drawbar = (Awl::Drawbar*)w; + w->setProperty("ctrlType", 5); + connect(drawbar, SIGNAL(valueChanged(double,int)), map, SLOT(map())); + } + else + printf("Gui Element <%s> not supported\n", cname); } - connect(map, SIGNAL(mapped(int)), this, SLOT(ctrlChanged(int))); + ignoreControllerChange = false; + connect(map, SIGNAL(mapped(QWidget*)), this, SLOT(ctrlChanged(QWidget*))); } //--------------------------------------------------------- // ctrlChanged //--------------------------------------------------------- -void OrganGui::ctrlChanged(int idx) +void OrganGui::ctrlChanged(QWidget* w) { - SynthGuiCtrl* ctrl = &dctrl[idx]; - int val = 0; - if (ctrl->type == SynthGuiCtrl::SLIDER) { - QSlider* slider = (QSlider*)(ctrl->editor); - val = slider->value(); - } - else if (ctrl->type == SynthGuiCtrl::SWITCH) { - val = ((QCheckBox*)(ctrl->editor))->isChecked(); + if (ignoreControllerChange) + return; + int ctrlIdx = w->property("ctrlIdx").toInt(); + int ctrlType = w->property("ctrlType").toInt(); + int value = 0; + + switch(ctrlType) { + case 0: // QSlider + value = ((QSlider*)w)->value(); + break; + case 1: + value = ((QCheckBox*)w)->isChecked(); + break; + case 2: + value = ((QGroupBox*)w)->isChecked(); + break; + case 3: + value = lrint(((Awl::Knob*)w)->value()); + break; + case 4: + value = ((QPushButton*)w)->isChecked(); + break; + case 5: + value = lrint(((Awl::Drawbar*)w)->value()); + break; + default: + printf("OrganGui::ctrlChanged: illegal ctrlType %d\n", ctrlType); + break; } - sendController(0, idx + CTRL_RPN14_OFFSET, val); + int id = Mess2::controllerId(ctrlIdx); + sendController(0, id, value); // to synth } //--------------------------------------------------------- // setParam -// set param in gui //--------------------------------------------------------- -void OrganGui::setParam(int param, int val) +void OrganGui::setParam(int ctrlId, int val) { - param &= 0xfff; - if (param >= int(sizeof(dctrl)/sizeof(*dctrl))) { - fprintf(stderr, "OrganGui: set unknown Ctrl 0x%x to 0x%x\n", param, val); + int ctrlIdx = Mess2::controllerIdx(ctrlId); + if (ctrlIdx == -1) return; + setParamIdx(ctrlIdx, val); + } + +//--------------------------------------------------------- +// setParamIdx +// set controller value in gui +//--------------------------------------------------------- + +void OrganGui::setParamIdx(int ctrlIdx, int val) + { + const char* name = Organ::controllerName(ctrlIdx); + if (name == 0) + return; + ignoreControllerChange = true; + QList<QWidget*> wl = findChildren<QWidget*>(name); + + foreach(QWidget* w, wl) { + int ctrlType = w->property("ctrlType").toInt(); + switch(ctrlType) { + case 0: + ((QSlider*)w)->setValue(val); + break; + case 1: + ((QCheckBox*)w)->setChecked(val); + break; + case 2: + ((QGroupBox*)w)->setChecked(val); + break; + case 3: + ((Awl::Knob*)w)->setValue(double(val)); + break; + case 4: + ((QPushButton*)w)->setChecked(val); + break; + case 5: + ((Awl::Drawbar*)w)->setValue(double(val)); + break; + default: + printf("OrganGui::setParamIdx: illegal ctrlType %d\n", ctrlType); + break; + } } - SynthGuiCtrl* ctrl = &dctrl[param]; - ctrl->editor->blockSignals(true); - if (ctrl->type == SynthGuiCtrl::SLIDER) { - QSlider* slider = (QSlider*)(ctrl->editor); - slider->setValue(val); - if (ctrl->label) - ((QSpinBox*)(ctrl->label))->setValue(val); - } - else if (ctrl->type == SynthGuiCtrl::SWITCH) { - ((QCheckBox*)(ctrl->editor))->setChecked(val); - } - ctrl->editor->blockSignals(false); + ignoreControllerChange = false; } //--------------------------------------------------------- diff --git a/muse/synti/organ/organgui.h b/muse/synti/organ/organgui.h index f8e1b5b7..c691b1a1 100644 --- a/muse/synti/organ/organgui.h +++ b/muse/synti/organ/organgui.h @@ -25,16 +25,22 @@ class QSignalMapper; class OrganGui : public QWidget, public Ui::OrganGuiBase, public MessGui { Q_OBJECT + bool ignoreControllerChange; + QSignalMapper* map; - SynthGuiCtrl dctrl[NUM_GUI_CONTROLLER]; - void setParam(int, int); virtual void processEvent(const MidiEvent&); + protected: + void setParam(int, int); + void setParamIdx(int ctrlIdx, int val); + private slots: - void ctrlChanged(int idx); + void ctrlChanged(QWidget*); void readMessage(int); public: + friend class Organ; + friend class Mess2; OrganGui(); }; diff --git a/muse/synti/organ/organgui.ui b/muse/synti/organ/organgui.ui index bfd9ee85..74e52f07 100644 --- a/muse/synti/organ/organgui.ui +++ b/muse/synti/organ/organgui.ui @@ -5,14 +5,12 @@ <rect> <x>0</x> <y>0</y> - <width>563</width> - <height>392</height> + <width>270</width> + <height>275</height> </rect> </property> <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>5</vsizetype> + <sizepolicy vsizetype="Preferred" hsizetype="Expanding" > <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> @@ -20,122 +18,74 @@ <property name="windowTitle" > <string>MusE: Organ</string> </property> + <property name="styleSheet" > + <string>QWidget { +background-color: rgb(93,106,121); +color: rgb(240, 240, 240); +} +QLabel#name { +font-size: 64px; +font-weight: bold; +} +Awl--Drawbar { +font-size: 10px; +} +Awl--Knob { +font-size: 10px; +} + +QGroupBox::indicator:checked { +background-color: yellow; +} +QGroupBox::indicator:unchecked { +background-color: gray; +} +QCheckBox::indicator:checked:disabled { +background-color: darkGray; +} +QCheckBox::indicator:unchecked:disabled { +background-color: gray; +} +QCheckBox::indicator:checked:enabled { +background-color: yellow; +} +QCheckBox::indicator:unchecked:enabled { +background-color: gray; +} +</string> + </property> <layout class="QGridLayout" > - <property name="margin" > + <property name="leftMargin" > + <number>9</number> + </property> + <property name="topMargin" > + <number>9</number> + </property> + <property name="rightMargin" > <number>9</number> </property> - <property name="spacing" > + <property name="bottomMargin" > + <number>9</number> + </property> + <property name="horizontalSpacing" > + <number>6</number> + </property> + <property name="verticalSpacing" > <number>6</number> </property> - <item row="0" column="1" > - <widget class="QGroupBox" name="GroupBox3" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Oscillator</string> - </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>11</number> - </property> - <property name="spacing" > - <number>2</number> - </property> - <item> - <widget class="QCheckBox" name="sw1" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>1</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>Brass</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="sw2" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>1</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>Reed</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="sw3" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>1</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>Flute</string> - </property> - </widget> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QCheckBox" name="sw4" > - <property name="text" > - <string>Velocity</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> <item row="0" column="0" > - <widget class="QLabel" name="TextLabel1_2" > + <widget class="QLabel" name="name" > <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>5</vsizetype> + <sizepolicy vsizetype="Preferred" hsizetype="Expanding" > <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="font" > <font> - <pointsize>48</pointsize> - <weight>50</weight> - <italic>false</italic> - <bold>false</bold> - <underline>false</underline> - <strikeout>false</strikeout> + <pointsize>-1</pointsize> + <weight>75</weight> + <bold>true</bold> </font> </property> <property name="text" > @@ -149,9 +99,7 @@ <item rowspan="2" row="1" column="0" colspan="2" > <widget class="QGroupBox" name="GroupBox1" > <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> + <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> @@ -159,671 +107,123 @@ <property name="title" > <string>Drawbars</string> </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>6</number> - </property> - <property name="spacing" > - <number>2</number> - </property> - <item row="0" column="0" > - <widget class="QLabel" name="TextLabel1" > - <property name="text" > - <string>16'</string> - </property> - </widget> - </item> - <item row="3" column="0" > - <widget class="QLabel" name="TextLabel4" > - <property name="text" > - <string>4'</string> - </property> - </widget> - </item> - <item row="4" column="0" > - <widget class="QLabel" name="TextLabel5" > - <property name="text" > - <string>2 2/3'</string> - </property> - </widget> - </item> - <item row="5" column="0" > - <widget class="QLabel" name="TextLabel6" > - <property name="text" > - <string>2'</string> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="TextLabel2" > - <property name="text" > - <string>5 1/3'</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="TextLabel3" > - <property name="text" > - <string>8'</string> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QSlider" name="p2" > - <property name="minimum" > - <number>-960</number> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>10</number> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QSlider" name="p3" > - <property name="minimum" > - <number>-960</number> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>10</number> - </property> - </widget> - </item> - <item row="3" column="2" > - <widget class="QSlider" name="p4" > - <property name="minimum" > - <number>-960</number> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>10</number> - </property> - </widget> - </item> - <item row="4" column="2" > - <widget class="QSlider" name="p5" > - <property name="minimum" > - <number>-960</number> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>10</number> - </property> - </widget> - </item> - <item row="5" column="2" > - <widget class="QSlider" name="p6" > - <property name="minimum" > - <number>-960</number> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>10</number> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QSlider" name="p1" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimum" > - <number>-960</number> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>10</number> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QSpinBox" name="lcd1" > - <property name="maximum" > - <number>0</number> - </property> - <property name="minimum" > - <number>-960</number> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QSpinBox" name="lcd2" > - <property name="maximum" > - <number>0</number> - </property> - <property name="minimum" > - <number>-960</number> - </property> - <property name="singleStep" > - <number>10</number> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="lcd3" > - <property name="maximum" > - <number>0</number> - </property> - <property name="minimum" > - <number>-960</number> - </property> - <property name="singleStep" > - <number>10</number> - </property> - </widget> - </item> - <item row="3" column="1" > - <widget class="QSpinBox" name="lcd4" > - <property name="maximum" > - <number>0</number> - </property> - <property name="minimum" > - <number>-960</number> - </property> - <property name="singleStep" > - <number>10</number> - </property> - </widget> - </item> - <item row="4" column="1" > - <widget class="QSpinBox" name="lcd5" > - <property name="maximum" > - <number>0</number> - </property> - <property name="minimum" > - <number>-960</number> - </property> - <property name="singleStep" > - <number>10</number> - </property> - </widget> - </item> - <item row="5" column="1" > - <widget class="QSpinBox" name="lcd6" > - <property name="maximum" > - <number>0</number> - </property> - <property name="minimum" > - <number>-960</number> - </property> - <property name="singleStep" > - <number>10</number> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="0" column="2" > - <widget class="QGroupBox" name="GroupBox2" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Envelope Lo</string> - </property> - <property name="alignment" > - <set>Qt::AlignLeading</set> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>11</number> - </property> - <property name="spacing" > - <number>2</number> - </property> - <item row="0" column="0" > - <widget class="QLabel" name="TextLabel7" > - <property name="text" > - <string>Attack</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="TextLabel8" > - <property name="text" > - <string>Decay</string> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="TextLabel9" > - <property name="text" > - <string>Sustain</string> - </property> - </widget> - </item> - <item row="3" column="0" > - <widget class="QLabel" name="TextLabel10" > - <property name="text" > - <string>Release</string> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QSlider" name="p7" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>80</width> - <height>0</height> - </size> - </property> - <property name="maximum" > - <number>500</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>50</number> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QSlider" name="p8" > - <property name="maximum" > - <number>5000</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>500</number> - </property> - </widget> - </item> - <item row="2" column="2" > - <widget class="QSlider" name="p9" > - <property name="minimum" > - <number>-960</number> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>10</number> - </property> - </widget> - </item> - <item row="3" column="2" > - <widget class="QSlider" name="p10" > - <property name="maximum" > - <number>500</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>50</number> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QSpinBox" name="lcd7" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>1</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix" > - <string>ms</string> - </property> - <property name="maximum" > - <number>500</number> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QSpinBox" name="lcd8" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>1</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix" > - <string>ms</string> - </property> - <property name="maximum" > - <number>5000</number> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="lcd9" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>1</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix" > - <string>cB</string> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="minimum" > - <number>-960</number> - </property> + <layout class="QHBoxLayout" > + <item> + <widget class="Awl::Drawbar" name="drawbar16" > <property name="value" > - <number>0</number> - </property> - </widget> - </item> - <item row="3" column="1" > - <widget class="QSpinBox" name="lcd10" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>1</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix" > - <string>ms</string> - </property> - <property name="maximum" > - <number>500</number> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item row="2" column="2" > - <widget class="QGroupBox" name="GroupBox4" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="title" > - <string>Envelope Hi</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>8</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item row="3" column="2" > - <widget class="QSlider" name="p14" > - <property name="maximum" > - <number>500</number> - </property> - <property name="pageStep" > - <number>1</number> + <double>4.319999999999999</double> </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>50</number> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="TextLabel13" > - <property name="text" > - <string>Sustain</string> + <property name="sliderColor" > + <color> + <red>60</red> + <green>60</green> + <blue>60</blue> + </color> </property> </widget> </item> - <item row="3" column="0" > - <widget class="QLabel" name="TextLabel14" > - <property name="text" > - <string>Release</string> - </property> - </widget> - </item> - <item row="3" column="1" > - <widget class="QSpinBox" name="lcd14" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix" > - <string>ms</string> + <item> + <widget class="Awl::Drawbar" name="drawbar513" > + <property name="value" > + <double>5.039999999999999</double> </property> - <property name="maximum" > - <number>500</number> + <property name="sliderColor" > + <color> + <red>60</red> + <green>60</green> + <blue>60</blue> + </color> </property> </widget> </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="lcd13" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix" > - <string>cB</string> - </property> - <property name="maximum" > - <number>0</number> + <item> + <widget class="Awl::Drawbar" name="drawbar8" > + <property name="value" > + <double>8.000000000000000</double> </property> - <property name="minimum" > - <number>-960</number> + <property name="sliderColor" > + <color> + <red>240</red> + <green>240</green> + <blue>240</blue> + </color> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QSpinBox" name="lcd12" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix" > - <string>ms</string> + <item> + <widget class="Awl::Drawbar" name="drawbar4" > + <property name="value" > + <double>8.000000000000000</double> </property> - <property name="maximum" > - <number>5000</number> + <property name="sliderColor" > + <color> + <red>240</red> + <green>240</green> + <blue>240</blue> + </color> </property> </widget> </item> - <item row="0" column="2" > - <widget class="QSlider" name="p11" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximum" > - <number>500</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="tickInterval" > - <number>50</number> + <item> + <widget class="Awl::Drawbar" name="drawbar223" > + <property name="value" > + <double>8.000000000000000</double> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QSpinBox" name="lcd11" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix" > - <string>ms</string> + <item> + <widget class="Awl::Drawbar" name="drawbar2" > + <property name="value" > + <double>0.000000000000000</double> </property> - <property name="maximum" > - <number>500</number> + <property name="sliderColor" > + <color> + <red>240</red> + <green>240</green> + <blue>240</blue> + </color> </property> </widget> </item> - <item row="1" column="2" > - <widget class="QSlider" name="p12" > - <property name="maximum" > - <number>5000</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> + <item> + <widget class="Awl::Drawbar" name="drawbar135" > + <property name="value" > + <double>0.000000000000000</double> </property> - <property name="tickInterval" > - <number>500</number> + <property name="sliderColor" > + <color> + <red>128</red> + <green>102</green> + <blue>86</blue> + </color> </property> </widget> </item> - <item row="2" column="2" > - <widget class="QSlider" name="p13" > - <property name="minimum" > - <number>-960</number> - </property> - <property name="maximum" > - <number>0</number> - </property> - <property name="pageStep" > - <number>1</number> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> + <item> + <widget class="Awl::Drawbar" name="drawbar113" > + <property name="value" > + <double>2.160000000000000</double> </property> - <property name="tickInterval" > - <number>10</number> + <property name="sliderColor" > + <color> + <red>128</red> + <green>102</green> + <blue>86</blue> + </color> </property> </widget> </item> - <item row="0" column="0" > - <widget class="QLabel" name="TextLabel11" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>4</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text" > - <string>Attack</string> + <item> + <widget class="Awl::Drawbar" name="drawbar1" > + <property name="value" > + <double>0.000000000000000</double> </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="TextLabel12" > - <property name="text" > - <string>Decay</string> + <property name="sliderColor" > + <color> + <red>240</red> + <green>240</green> + <blue>240</blue> + </color> </property> </widget> </item> @@ -833,25 +233,13 @@ </layout> </widget> <layoutdefault spacing="6" margin="11" /> - <tabstops> - <tabstop>p1</tabstop> - <tabstop>p3</tabstop> - <tabstop>p2</tabstop> - <tabstop>p4</tabstop> - <tabstop>p5</tabstop> - <tabstop>p6</tabstop> - <tabstop>p7</tabstop> - <tabstop>p8</tabstop> - <tabstop>p9</tabstop> - <tabstop>p10</tabstop> - <tabstop>p11</tabstop> - <tabstop>p12</tabstop> - <tabstop>p13</tabstop> - <tabstop>p14</tabstop> - <tabstop>sw1</tabstop> - <tabstop>sw2</tabstop> - <tabstop>sw3</tabstop> - </tabstops> + <customwidgets> + <customwidget> + <class>Awl::Drawbar</class> + <extends>Awl::Slider</extends> + <header>awl/drawbar.h</header> + </customwidget> + </customwidgets> <resources/> <connections/> </ui> diff --git a/muse/synti/s1/s1.cpp b/muse/synti/s1/s1.cpp index 2dca23ee..596a5797 100644 --- a/muse/synti/s1/s1.cpp +++ b/muse/synti/s1/s1.cpp @@ -93,9 +93,9 @@ void S1::note(int /*channel*/, int pitch, int velo) // // note on // - accu = 0; - gate = 1; - freq = 8.176 * exp(float(pitch)*log(2.0)/12.0); + accu = 0; + gate = 1; + freq = 8.176 * exp(float(pitch)*log(2.0)/12.0); } } |