ZZ_All Quotings 0-0090





//+-------------------------------------------------------------------------------------------+
//|                                                                 ZZ_All Quotings 0-0090.mq4|
//|                                                                 Copyright © Zhunko        |
//|27.03.2007 - 26.07.2008                                          MF ZHUNKO vadim@zhunko.ru |
//+-------------------------------------------------------------------------------------------+
//| Ñêðèïò äëÿ çàêà÷êè èñòîðèè ïî âñåì âàëþòíûì ïàðàì è ìåòàëëàì.                             |
//| Ñ ïîëåäóþùèì êîíòðîëåì íà "äûðû" â èñòîðèè.                                               |
//| Âñâÿçè ñ ôóíêöèîíàëüíûì ðàñøèðåíèåì, ñêðèïò "ZZ_All Quotings Exchange+Metals 0-0050"      |
//| ïåðåèìåíîâàí â "ZZ_All Quotings Õ-ÕÕÕÕ".                                                  |
//| Ïåðåä èñïîëüçîâàíèåì ñêðèïòà óñòàíîâèòå â ÌÒ4 ñåðâèñ -> íàñòðîéêè -> ãðàôèêè ->           |
//|íóæíîå ìàêñèìàëüíîå êîëè÷åñòâî áàðîâ â îêíå. Èìåííî ýòî êîëè÷åñòâî áàðîâ áóäåò             |
//|çàãðóæàòüñÿ è êîíòðîëèðîâàòüñÿ. Çà òåì ïåðåçàãðóçèòå ÌÒ4 è âîñïîëüçóéòåñü ñêðèïòîì.        |
//| Êîíåö ðàáîòû ñêðèïòà íå îçíà÷àåò êîíåö çàãðóçêè èñòîðèè. Ïðîöåññ çàãðóçêè ìîæíî ïîñìîòðåòü|
//| â äèñïåò÷åðå çàäà÷. Ïî îêîí÷àíèè çàãðóçêè èñòîðèè íåîáõîäèìî ïåðåçàãðóçèòü ÌÒ4 äëÿ        |
//| ñîõðàíåíèÿ èñòîðèè â ôàéëàõ *.hst.                                                        |
//+-------------------------------------------------------------------------------------------+
//|                              ÈÇÌÅÍÅÍÈß è ÄÎÏÎËÍÅÍÈß.                                      |
//| 1.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings Exchange+Metals 0-0020 îò 28.03.2007.               |
//| 1.1.Èçìåí¸í àëãîðèòì îïðîñà íà íàëè÷èå áàðîâ â èñòîðèè.                                   |
//| 1.2.Ïîëíàÿ èíôîðìàöèÿ î äåôåêòíûõ áàðàõ âûâîäèòñÿ â ôàéëû.                                |
//|     Âàëþòíûå ïàðû : ZZ_All_Quotings_Exchange_InCorrect.txt;                               |
//|     Ìåòàëëû: ZZ_All_Quotings_Metals_InCorrect.txt.                                        |
//| 2.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings Exchange+Metals 0-0030 îò 31.03.2007.               |
//| 2.1.Èçìåí¸í ïðèíöèï êîíòðîëÿ çàãðóçêè.                                                    |
//| 2.2.Ââåä¸í âèçóàëüíûé êîíòðîëü âñåõ ïðîöåññîâ.                                            |
//| 2.3.Ââåä¸í ïîëíûé êîíòðîëü âñåé çàãðóæåííîé èñòîðèè.                                      |
//| 2.4. ôàéë çàïèñûâàþòñÿ òîëüêî èíòåðâàëû îòñóòñòâèÿ áàðîâ.                                |
//| 3.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings Exchange+Metals 0-0040 îò 31.03.2007.               |
//| 3.1.Ââåäåíû äèàëîãîâûå îêíà. Òåïåðü ìîæíî ïîäòâåðäèòü èëè îòêàçàòüñÿ îò çàãðóçêè          |
//|     âàëþòíûõ ïàð, ìåòàëëîâ è êîíòðîëÿ äåôåêòíûõ èíòåðâàëîâ èñòîðèè.                       |
//| 4.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings Exchange+Metals 0-0050 îò 06.05.2007.               |
//| 4.1.Óñòðàíåíà îøèáêà â ñîçäàíèè ôàéëîâ. Ïóñòûå ôàéëû ñîçäàâàëèñü ïðè îòêàçå îò            |
//|     êîíòðîëÿ íà "äûðû" â èñòîðèè.                                                         |
//| 4.2.Óâåëè÷åíî êîëè÷åñòâî ãðóïï èíñòðóìåíòîâ. Âêëþ÷åíû âñå èíñòðóìåíòû                     |
//|     "Alpari Ltd.", "Forex Best", "MoneyRein Corporation", "North Finance Company Ltd"     |
//|     è îñíîâíûå èíñòðóìåíòû "North-West Financial Broker".                                 |
//| 5.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0050 îò 09.05.2007.                               |
//| 5.1. ñâÿçè ñ ôóíêöèîíàëüíûì ðàñøèðåíèåì ñêðèïò "ZZ_All Quotings Exchange+Metals 0-0050"  |
//|     â "ZZ_All Quotings 0-0050".                                                           |
//| 6.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0060 îò 17.07.2007.                               |
//| 6.1.Ïî îêîí÷àíèè ðàáîòû ñêðèïòà âûâîäèòñÿ îêíî ñ èíôîðìàöèè î çàãðóçêå.                   |
//| 6.2.Óìåíüøåíû òðåáîâàíèÿ ê ñâîáîäíîé îïåðàòèâíîé ïàìÿòè áîëåå, ÷åì â äâà ðàçà.            |
//| 6.3.Èñïðàâëåíà îøèáêà â íàçâàíèè âàëþòû "LBP".                                            |
//| 6.4.Îïòèìèçèðîâàíà ðàáîòà â ðåæèìå áåç êîíòðîëÿ èñòîðèè íà "äûðû".                        |
//| 6.5.Èçìåíåíî óñëîâèå êîíòðîëÿ ïðèõîäà èñòîðèè.                                            |
//| 7.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0070 îò 29.07.2007.                               |
//| 7.1.Äîïîëíåíû ãðóïïû èíñòðóìåíòîâ "CFD London", "CFD NewYork".                            |
//| 7.2.Ââåä¸í òàéìåð âðåìåíè îæèäàíèÿ ïîñëåäíåãî áàðà - 1 ìèíóòà îò ïîñëåäíåãî îáíîâëåíèÿ    |
//|     âðåìåíè îòêðûòèÿ ïîñëåäíåãî áàðà.                                                     |
//| 8.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0080 îò 10.01.2008.                               |
//| 8.1.Èçìåíåíû è äîïîëíåíû íàçâàíèÿ CFD Tokyo â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà.              |
//| 8.2.Äîïîëíåíû íàçâàíèÿ CFD Moscow â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà.                        |
//| 8.3.Óâåëè÷åíî êîëè÷åñòâî íàçâàíèé âàëþò äî 170 è ìåòàëëîâ äî 10.                          |
//| 9.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0090 îò 26.07.2008.                               |
//| 9.1.Èñïðàâëåíà îøèáêà îãðàíè÷åíèÿ ïîäêà÷êè ïî äâóì ïîñëåäíèì ãðóïïàì èíñòðóìåíòîâ.        |
//| 9.2.Óâåëè÷åíî êîëè÷åñòâî íàçâàíèé ìåòàëëîâ äî 14.                                         |
//| 9.3.Äîïîëíåíû íàçâàíèÿ CFD Viena äî 80 â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà.                   |
//| 9.4.Äîïîëíåíû íàçâàíèÿ CFD London äî 216 â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà.                 |
//| 9.5.Äîïîëíåíû íàçâàíèÿ CFD NewYork äî 384 â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà.                |
//| 9.6.Äîïîëíåíû íàçâàíèÿ CFD Moscow äî 63 â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà.                  |
//| 9.7.Îáúåäèíåíû íàçâàíèÿ ãðóïï CFD Moscow è CFD RU. Âñåãî ãðóïï 11.                        |
//| 9.8.Èñïðàâëåíà îøèáêà â îáîçíà÷åíèÿõ CFD Moscow (URSI#, URSIP#), CFD NewYork (#MBT, MBT#).|
//| 9.9.Èñïðàâëåíà îøèáêà îáðàùåíèÿ ê ãðóïïàì èíñòðóìåíòîâ "mini", "profi".                   |
//+-------------------------------------------------------------------------------------------+
#property copyright "Copyright © 2007 Zhunko"
#property link      "vadim@zhunko.ru"
#include <WinUser32.mqh>
//----Ãëîáàëüíûå ïåðåìåííûå.------------------------------------------
//----Ìàññèâû.--------------------------------------------------------
int ArrayTimFram_time[12]   = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200, 40320, 41760, 44640};
int ArrayCurrency[170][3] =   {65, 69, 68, 65, 70, 78, 65, 76, 76, 65, 77, 68, 65, 78, 71, 65, 79, 65, 65, 82, 83, 65, 85, 68, 65, 87, 68, 65, 87, 71, 65, 90, 78, 66, 65, 77, 66, 66, 68, 66, 68, 84,
                               66, 71, 78, 66, 72, 68, 66, 73, 70, 66, 77, 68, 66, 78, 68, 66, 79, 66, 66, 82, 76, 66, 83, 68, 66, 84, 78, 66, 87, 80, 66, 89, 82, 66, 90, 68, 67, 65, 68, 67, 67, 75,
                               67, 68, 70, 67, 72, 70, 67, 76, 80, 67, 78, 89, 67, 79, 80, 67, 82, 67, 67, 85, 67, 67, 85, 80, 67, 86, 69, 67, 89, 80, 67, 90, 75, 68, 74, 70, 68, 75, 75, 68, 90, 68,
                               69, 69, 75, 69, 71, 80, 69, 82, 78, 69, 84, 66, 69, 85, 82, 70, 74, 68, 70, 75, 80, 71, 66, 80, 71, 69, 76, 71, 71, 80, 71, 72, 67, 71, 72, 83, 71, 73, 80, 71, 78, 70,
                               71, 77, 68, 71, 84, 81, 71, 89, 68, 72, 75, 68, 72, 78, 76, 72, 82, 75, 72, 84, 71, 72, 85, 70, 73, 68, 82, 73, 76, 83, 73, 77, 80, 73, 78, 82, 73, 81, 68, 73, 82, 82,
                               73, 83, 75, 74, 69, 80, 74, 77, 68, 74, 79, 68, 74, 80, 89, 75, 69, 83, 75, 71, 83, 75, 72, 82, 75, 77, 70, 75, 80, 87, 75, 82, 87, 75, 87, 68, 75, 89, 68, 75, 90, 84,
                               76, 65, 75, 76, 66, 80, 76, 75, 82, 76, 82, 68, 76, 83, 76, 76, 84, 76, 76, 86, 76, 76, 89, 68, 77, 65, 68, 77, 68, 76, 77, 71, 65, 77, 75, 68, 77, 77, 75, 77, 78, 84,
                               77, 79, 80, 77, 82, 79, 77, 84, 76, 77, 86, 82, 77, 87, 75, 77, 88, 78, 77, 89, 82, 77, 90, 78, 78, 65, 68, 78, 71, 78, 78, 73, 79, 78, 79, 75, 78, 80, 82, 78, 90, 68,
                               79, 77, 82, 80, 65, 66, 80, 69, 78, 80, 71, 75, 80, 72, 80, 80, 75, 82, 80, 76, 78, 80, 89, 71, 81, 65, 82, 82, 79, 78, 82, 83, 68, 82, 85, 66, 82, 85, 82, 82, 87, 70,
                               83, 65, 82, 83, 66, 68, 83, 68, 71, 83, 69, 75, 83, 71, 68, 83, 72, 80, 83, 75, 75, 83, 76, 76, 83, 79, 83, 83, 80, 76, 83, 82, 68, 83, 84, 68, 83, 86, 67, 83, 89, 80,
                               83, 90, 76, 84, 72, 66, 84, 74, 83, 84, 77, 77, 84, 78, 68, 84, 79, 80, 84, 82, 89, 84, 84, 68, 84, 86, 68, 84, 87, 68, 84, 90, 83, 85, 65, 72, 85, 71, 88, 85, 83, 68,
                               85, 89, 85, 85, 90, 83, 86, 69, 66, 86, 78, 68, 86, 85, 86, 87, 83, 84, 87, 83, 84, 88, 65, 70, 88, 67, 68, 88, 68, 82, 88, 79, 70, 88, 80, 70, 89, 69, 82, 90, 65, 82, 
                               90, 77, 75, 90, 87, 68};
int ArrayMetals[14][10] =     {71, 79, 76, 68,  0,  0, 0, 0, 0, 0, 80, 65, 76, 76,  0,  0, 0, 0, 0, 0, 80, 65, 76, 76, 65, 68, 73, 85, 77, 0, 80, 76, 65, 84,  0,  0, 0, 0, 0, 0, 80, 76, 65, 84, 73, 78, 85, 77, 0, 0,
                               83, 73, 76, 86, 69, 82, 0, 0, 0, 0, 88, 65, 71,  0,  0,  0, 0, 0, 0, 0, 88, 65, 71, 85, 83, 68,  0,  0,  0, 0, 88, 65, 85,  0,  0,  0, 0, 0, 0, 0, 88, 65, 85, 85, 83, 68,  0,  0, 0, 0,
                               88, 80, 68,  0,  0,  0, 0, 0, 0, 0, 88, 80, 68, 85, 83, 68, 0, 0, 0, 0, 88, 80, 84,  0,  0,  0,  0,  0,  0, 0, 88, 80, 84, 85, 83, 68, 0, 0, 0, 0};
int ArrayIndexes[31][10] =    {95, 67,  0,  0,  0, 0, 0, 0, 0, 0, 95, 68, 74, 73,  0,  0,  0, 0, 0, 0, 95, 68, 88, 89,  0,  0,  0, 0, 0, 0, 95, 69, 83,  0,  0, 0, 0, 0, 0, 0, 95, 71, 67, 0, 0, 0, 0, 0, 0, 0,
                               95, 78, 81,  0,  0, 0, 0, 0, 0, 0, 95, 78, 81, 49, 48, 48,  0, 0, 0, 0, 95, 78, 81, 67, 79, 77, 80, 0, 0, 0, 95, 81, 71,  0,  0, 0, 0, 0, 0, 0, 95, 81, 77, 0, 0, 0, 0, 0, 0, 0,
                               95, 83,  0,  0,  0, 0, 0, 0, 0, 0, 95, 83, 73,  0,  0,  0,  0, 0, 0, 0, 95, 83, 80, 53, 48, 48,  0, 0, 0, 0, 95, 87,  0,  0,  0, 0, 0, 0, 0, 0,
                               36, 65, 84, 88,  0, 0, 0, 0, 0, 0, 36, 66, 75, 66, 82, 73, 67, 0, 0, 0, 36, 67, 79, 77, 80, 81,  0, 0, 0, 0, 36, 68, 65, 88, 73, 0, 0, 0, 0, 0, 36, 70, 84, 83, 69, 0, 0, 0, 0, 0,
                               36, 73, 78, 68, 85, 0, 0, 0, 0, 0, 36, 78, 68, 88,  0,  0,  0, 0, 0, 0, 36, 78, 73, 75, 75, 69, 73, 0, 0, 0, 36, 78, 89, 65,  0, 0, 0, 0, 0, 0, 36, 79, 69, 88,  0, 0, 0, 0, 0, 0,
                               36, 81, 81, 81, 81, 0, 0, 0, 0, 0, 36, 83, 80, 88,  0,  0,  0, 0, 0, 0, 36, 84, 82, 65, 78,  0,  0, 0, 0, 0,
                               68, 65, 88,  0,  0, 0, 0, 0, 0, 0, 68, 74, 73,  0,  0,  0,  0, 0, 0, 0, 78, 65, 83, 68, 65, 81,  0, 0, 0, 0, 83, 38, 80, 53, 48, 48, 0, 0, 0, 0};
int ArrayCFD_Viena[80][10] =  {65, 71, 82, 35,  0, 0, 0, 0, 0, 0, 65, 78, 68, 82, 35, 0, 0, 0, 0, 0, 65, 84, 69, 67, 35, 0, 0, 0, 0, 0, 65, 85, 65, 35,  0, 0, 0, 0, 0, 0, 65, 87, 83, 35,  0, 0, 0, 0, 0, 0,
                               66, 69, 78, 69, 35, 0, 0, 0, 0, 0, 66, 70, 67, 35,  0, 0, 0, 0, 0, 0, 66, 72, 68, 35,  0, 0, 0, 0, 0, 0, 66, 85, 68, 35,  0, 0, 0, 0, 0, 0, 66, 87, 73, 78, 35, 0, 0, 0, 0, 0,
                               66, 87, 84, 35,  0, 0, 0, 0, 0, 0, 67, 78, 84, 89, 35, 0, 0, 0, 0, 0, 67, 65, 73, 35,  0, 0, 0, 0, 0, 0, 67, 65, 73, 73, 35, 0, 0, 0, 0, 0, 67, 78, 84, 89, 35, 0, 0, 0, 0, 0,
                               67, 79, 86, 35,  0, 0, 0, 0, 0, 0, 67, 87, 73, 35,  0, 0, 0, 0, 0, 0, 67, 87, 84, 35,  0, 0, 0, 0, 0, 0, 68, 79, 67, 35,  0, 0, 0, 0, 0, 0, 69, 66, 83, 35,  0, 0, 0, 0, 0, 0,
                               69, 67, 79, 35,  0, 0, 0, 0, 0, 0, 69, 86, 78, 35,  0, 0, 0, 0, 0, 0, 69, 89, 66, 76, 35, 0, 0, 0, 0, 0, 70, 69, 82, 35,  0, 0, 0, 0, 0, 0, 70, 75, 65, 35,  0, 0, 0, 0, 0, 0,
                               70, 76, 85, 35,  0, 0, 0, 0, 0, 0, 72, 69, 65, 68, 35, 0, 0, 0, 0, 0, 72, 73, 83, 35,  0, 0, 0, 0, 0, 0, 72, 84, 73, 35,  0, 0, 0, 0, 0, 0, 72, 86, 66, 35,  0, 0, 0, 0, 0, 0,
                               73, 67, 76, 76, 35, 0, 0, 0, 0, 0, 73, 69, 65, 35,  0, 0, 0, 0, 0, 0, 73, 73, 65, 35,  0, 0, 0, 0, 0, 0, 73, 75, 85, 35,  0, 0, 0, 0, 0, 0, 74, 86, 68, 35,  0, 0, 0, 0, 0, 0,
                               75, 84, 67, 71, 35, 0, 0, 0, 0, 0, 75, 84, 77, 35,  0, 0, 0, 0, 0, 0, 76, 78, 90, 35,  0, 0, 0, 0, 0, 0, 77, 69, 76, 35,  0, 0, 0, 0, 0, 0, 77, 77, 75, 35,  0, 0, 0, 0, 0, 0,
                               79, 66, 83, 35,  0, 0, 0, 0, 0, 0, 79, 66, 86, 35,  0, 0, 0, 0, 0, 0, 79, 84, 86, 35,  0, 0, 0, 0, 0, 0, 79, 77, 86, 35,  0, 0, 0, 0, 0, 0, 80, 65, 76, 35,  0, 0, 0, 0, 0, 0,
                               80, 65, 82, 83, 35, 0, 0, 0, 0, 0, 80, 69, 82, 95, 35, 0, 0, 0, 0, 0, 80, 79, 83, 84, 35, 0, 0, 0, 0, 0, 80, 89, 84, 35,  0, 0, 0, 0, 0, 0, 80, 65, 84, 35,  0, 0, 0, 0, 0, 0,
                               82, 72, 73, 35,  0, 0, 0, 0, 0, 0, 82, 73, 66, 72, 35, 0, 0, 0, 0, 0, 82, 79, 76, 35,  0, 0, 0, 0, 0, 0, 82, 79, 83, 46, 35, 0, 0, 0, 0, 0, 83, 66, 79, 35,  0, 0, 0, 0, 0, 0, 
                               83, 69, 77, 35,  0, 0, 0, 0, 0, 0, 83, 75, 89, 35,  0, 0, 0, 0, 0, 0, 83, 76, 66, 83, 35, 0, 0, 0, 0, 0, 83, 76, 66, 86, 35, 0, 0, 0, 0, 0, 83, 78, 84, 35,  0, 0, 0, 0, 0, 0,
                               83, 80, 73, 35,  0, 0, 0, 0, 0, 0, 83, 84, 77, 35,  0, 0, 0, 0, 0, 0, 83, 84, 82, 35,  0, 0, 0, 0, 0, 0, 83, 87, 85, 84, 35, 0, 0, 0, 0, 0, 84, 69, 65, 75, 35, 0, 0, 0, 0, 0,
                               84, 75, 65, 35,  0, 0, 0, 0, 0, 0, 85, 66, 83, 95, 35, 0, 0, 0, 0, 0, 85, 73, 86, 35,  0, 0, 0, 0, 0, 0, 85, 81, 65, 35,  0, 0, 0, 0, 0, 0, 86, 69, 82, 35,  0, 0, 0, 0, 0, 0,
                               86, 75, 87, 35,  0, 0, 0, 0, 0, 0, 86, 79, 69, 35,  0, 0, 0, 0, 0, 0, 86, 86, 80, 83, 35, 0, 0, 0, 0, 0, 87, 70, 84, 86, 35, 0, 0, 0, 0, 0, 87, 73, 69, 35,  0, 0, 0, 0, 0, 0,
                               87, 79, 76, 35,  0, 0, 0, 0, 0, 0, 87, 80, 66, 35,  0, 0, 0, 0, 0, 0, 87, 83, 84, 35,  0, 0, 0, 0, 0, 0, 87, 88, 70, 35,  0, 0, 0, 0, 0, 0, 90, 65, 71, 35,  0, 0, 0, 0, 0, 0};
int ArrayCFD_London[216][10] ={65, 65, 76, 35,  0, 0, 0, 0, 0, 0, 65, 66, 46, 35,  0, 0, 0, 0, 0, 0, 65, 66, 70, 35,  0, 0, 0, 0, 0, 0, 65, 68, 77, 35,  0, 0, 0, 0, 0, 0, 65, 73, 82, 67, 35, 0, 0, 0, 0, 0,
                               65, 76, 46,  0,  0, 0, 0, 0, 0, 0, 65, 76, 66, 75, 35, 0, 0, 0, 0, 0, 65, 76, 90, 35,  0, 0, 0, 0, 0, 0, 65, 77, 69, 67, 35, 0, 0, 0, 0, 0, 65, 77, 76, 35,  0, 0, 0, 0, 0, 0,
                               65, 77, 86, 35,  0, 0, 0, 0, 0, 0, 65, 78, 71, 76, 35, 0, 0, 0, 0, 0, 65, 78, 84, 79, 35, 0, 0, 0, 0, 0, 65, 82, 77, 35,  0, 0, 0, 0, 0, 0, 65, 83, 72, 77, 35, 0, 0, 0, 0, 0,
                               65, 84, 65, 68, 35, 0, 0, 0, 0, 0, 65, 84, 83, 84, 35, 0, 0, 0, 0, 0, 65, 86, 46, 35,  0, 0, 0, 0, 0, 0, 65, 86, 69, 35,  0, 0, 0, 0, 0, 0, 65, 86, 90, 35,  0, 0, 0, 0, 0, 0, 
                               65, 88, 65, 35,  0, 0, 0, 0, 0, 0, 65, 90, 78, 35,  0, 0, 0, 0, 0, 0, 66, 65, 46, 35,  0, 0, 0, 0, 0, 0, 66, 65, 82, 67, 35, 0, 0, 0, 0, 0, 66, 65, 84, 83, 35, 0, 0, 0, 0, 0,
                               66, 65, 89, 35,  0, 0, 0, 0, 0, 0, 66, 66, 46, 35,  0, 0, 0, 0, 0, 0, 66, 66, 89, 35,  0, 0, 0, 0, 0, 0, 66, 68, 69, 86, 35, 0, 0, 0, 0, 0, 66, 71, 46, 35,  0, 0, 0, 0, 0, 0,
                               66, 71, 69, 79, 35, 0, 0, 0, 0, 0, 66, 71, 89, 35,  0, 0, 0, 0, 0, 0, 66, 75, 71, 35,  0, 0, 0, 0, 0, 0, 66, 75, 73, 82, 35, 0, 0, 0, 0, 0, 66, 76, 78, 68, 35, 0, 0, 0, 0, 0,
                               66, 76, 84, 35,  0, 0, 0, 0, 0, 0, 66, 78, 90, 76, 35, 0, 0, 0, 0, 0, 66, 80, 46, 35,  0, 0, 0, 0, 0, 0, 66, 82, 66, 89, 35, 0, 0, 0, 0, 0, 66, 83, 89, 35,  0, 0, 0, 0, 0, 0, 
                               66, 84, 46, 65, 35, 0, 0, 0, 0, 0, 66, 88, 66, 35,  0, 0, 0, 0, 0, 0, 67, 66, 82, 89, 35, 0, 0, 0, 0, 0, 67, 67, 66, 35,  0, 0, 0, 0, 0, 0, 67, 67, 76, 35,  0, 0, 0, 0, 0, 0,
                               67, 67, 82, 35,  0, 0, 0, 0, 0, 0, 67, 72, 90, 78, 35, 0, 0, 0, 0, 0, 67, 78, 65, 35,  0, 0, 0, 0, 0, 0, 67, 78, 69, 35,  0, 0, 0, 0, 0, 0, 67, 79, 66, 35,  0, 0, 0, 0, 0, 0,
                               67, 80, 71, 35,  0, 0, 0, 0, 0, 0, 67, 80, 73, 35,  0, 0, 0, 0, 0, 0, 67, 80, 87, 35,  0, 0, 0, 0, 0, 0, 67, 82, 72, 35,  0, 0, 0, 0, 0, 0, 67, 87, 46, 35,  0, 0, 0, 0, 0, 0, 
                               67, 83, 35,  0,  0, 0, 0, 0, 0, 0, 67, 87, 46, 35,  0, 0, 0, 0, 0, 0, 68, 66, 75, 35,  0, 0, 0, 0, 0, 0, 68, 71, 69, 35,  0, 0, 0, 0, 0, 0, 68, 80, 79, 35,  0, 0, 0, 0, 0, 0,
                               68, 82, 88, 35,  0, 0, 0, 0, 0, 0, 68, 83, 71, 73, 35, 0, 0, 0, 0, 0, 69, 66, 73, 68, 35, 0, 0, 0, 0, 0, 69, 69, 84, 68, 35, 0, 0, 0, 0, 0, 69, 76, 65, 35,  0, 0, 0, 0, 0, 0,
                               69, 76, 88, 66, 35, 0, 0, 0, 0, 0, 69, 77, 65, 35,  0, 0, 0, 0, 0, 0, 69, 77, 71, 35,  0, 0, 0, 0, 0, 0, 69, 77, 73, 35,  0, 0, 0, 0, 0, 0, 69, 82, 73, 35,  0, 0, 0, 0, 0, 0,
                               69, 84, 73, 35,  0, 0, 0, 0, 0, 0, 69, 88, 80, 78, 35, 0, 0, 0, 0, 0, 69, 90, 74, 35,  0, 0, 0, 0, 0, 0, 69, 86, 82, 35,  0, 0, 0, 0, 0, 0, 70, 71, 80, 35,  0, 0, 0, 0, 0, 0,
                               70, 73, 86, 69, 35, 0, 0, 0, 0, 0, 70, 80, 46, 35,  0, 0, 0, 0, 0, 0, 70, 82, 67, 76, 35, 0, 0, 0, 0, 0, 71, 65, 90, 35,  0, 0, 0, 0, 0, 0, 71, 70, 83, 35,  0, 0, 0, 0, 0, 0,
                               71, 70, 84, 85, 35, 0, 0, 0, 0, 0, 71, 75, 78, 35,  0, 0, 0, 0, 0, 0, 71, 76, 72, 35,  0, 0, 0, 0, 0, 0, 71, 83, 75, 35,  0, 0, 0, 0, 0, 0, 72, 65, 83, 35,  0, 0, 0, 0, 0, 0,
                               72, 66, 79, 83, 35, 0, 0, 0, 0, 0, 72, 67, 85, 35,  0, 0, 0, 0, 0, 0, 72, 77, 83, 79,  0, 0, 0, 0, 0, 0, 72, 78, 83, 35,  0, 0, 0, 0, 0, 0, 72, 79, 77, 69, 35, 0, 0, 0, 0, 0,
                               72, 83, 66, 65, 35, 0, 0, 0, 0, 0, 72, 89, 85, 68, 35, 0, 0, 0, 0, 0, 73, 65, 80, 35,  0, 0, 0, 0, 0, 0, 73, 67, 73, 35,  0, 0, 0, 0, 0, 0, 73, 72, 71, 35,  0, 0, 0, 0, 0, 0,
                               73, 73, 73, 35,  0, 0, 0, 0, 0, 0, 73, 77, 73, 35,  0, 0, 0, 0, 0, 0, 73, 77, 84, 35,  0, 0, 0, 0, 0, 0, 73, 78, 67, 72, 35, 0, 0, 0, 0, 0, 73, 78, 67, 72, 35, 0, 0, 0, 0, 0,
                               73, 78, 70, 35,  0, 0, 0, 0, 0, 0, 73, 78, 86, 80, 35, 0, 0, 0, 0, 0, 73, 80, 77, 35,  0, 0, 0, 0, 0, 0, 73, 80, 82, 35,  0, 0, 0, 0, 0, 0, 73, 83, 65, 84, 35, 0, 0, 0, 0, 0,
                               73, 83, 89, 83, 35, 0, 0, 0, 0, 0, 73, 84, 86, 35,  0, 0, 0, 0, 0, 0, 75, 90, 71, 35,  0, 0, 0, 0, 0, 0, 74, 77, 65, 84, 35, 0, 0, 0, 0, 0, 75, 65, 90, 35,  0, 0, 0, 0, 0, 0,
                               75, 69, 76, 35,  0, 0, 0, 0, 0, 0, 75, 69, 83, 65, 35, 0, 0, 0, 0, 0, 75, 71, 70, 35,  0, 0, 0, 0, 0, 0, 75, 71, 80, 35,  0, 0, 0, 0, 0, 0, 75, 84, 67, 68, 35, 0, 0, 0, 0, 0,
                               75, 89, 71, 65, 35, 0, 0, 0, 0, 0, 75, 90, 71, 35,  0, 0, 0, 0, 0, 0, 76, 65, 68, 35,  0, 0, 0, 0, 0, 0, 76, 65, 78, 68, 35, 0, 0, 0, 0, 0, 76, 71, 69, 78, 35, 0, 0, 0, 0, 0,
                               76, 71, 76, 68, 35, 0, 0, 0, 0, 0, 76, 73, 73, 35,  0, 0, 0, 0, 0, 0, 76, 75, 79, 68, 35, 0, 0, 0, 0, 0, 76, 76, 79, 89, 35, 0, 0, 0, 0, 0, 76, 77, 73, 35,  0, 0, 0, 0, 0, 0,
                               76, 79, 71, 35,  0, 0, 0, 0, 0, 0, 76, 83, 69, 35,  0, 0, 0, 0, 0, 0, 77, 65, 66, 35,  0, 0, 0, 0, 0, 0, 77, 75, 83, 35,  0, 0, 0, 0, 0, 0, 77, 76, 67, 35,  0, 0, 0, 0, 0, 0,
                               77, 78, 79, 68, 35, 0, 0, 0, 0, 0, 77, 82, 87, 35,  0, 0, 0, 0, 0, 0, 78, 67, 85, 35,  0, 0, 0, 0, 0, 0, 78, 71, 46, 35,  0, 0, 0, 0, 0, 0, 78, 72, 89, 35,  0, 0, 0, 0, 0, 0,
                               78, 82, 75, 35,  0, 0, 0, 0, 0, 0, 78, 83, 84, 82, 35, 0, 0, 0, 0, 0, 78, 86, 84, 75, 35, 0, 0, 0, 0, 0, 78, 88, 84, 35,  0, 0, 0, 0, 0, 0, 79, 71, 90, 68, 35, 0, 0, 0, 0, 0,
                               79, 77, 76, 35,  0, 0, 0, 0, 0, 0, 80, 70, 68, 35,  0, 0, 0, 0, 0, 0, 80, 70, 71, 35,  0, 0, 0, 0, 0, 0, 80, 73, 68, 68, 35, 0, 0, 0, 0, 0, 80, 76, 90, 76, 35, 0, 0, 0, 0, 0,
                               80, 78, 78, 35,  0, 0, 0, 0, 0, 0, 80, 82, 84, 89, 35, 0, 0, 0, 0, 0, 80, 82, 85, 35,  0, 0, 0, 0, 0, 0, 80, 83, 78, 35,  0, 0, 0, 0, 0, 0, 80, 83, 79, 78, 35, 0, 0, 0, 0, 0,
                               80, 85, 66, 35,  0, 0, 0, 0, 0, 0, 82, 66, 46, 35,  0, 0, 0, 0, 0, 0, 82, 66, 83, 35,  0, 0, 0, 0, 0, 0, 82, 68, 83, 65, 35, 0, 0, 0, 0, 0, 82, 69, 88, 35,  0, 0, 0, 0, 0, 0,
                               82, 75, 77, 68, 35, 0, 0, 0, 0, 0, 82, 77, 77, 35,  0, 0, 0, 0, 0, 0, 82, 79, 83, 78, 35, 0, 0, 0, 0, 0, 82, 82, 46, 35,  0, 0, 0, 0, 0, 0, 82, 83, 65, 35,  0, 0, 0, 0, 0, 0,
                               82, 83, 76, 35,  0, 0, 0, 0, 0, 0, 82, 84, 79, 35,  0, 0, 0, 0, 0, 0, 82, 84, 82, 35,  0, 0, 0, 0, 0, 0, 82, 89, 65, 35,  0, 0, 0, 0, 0, 0, 83, 65, 66, 35,  0, 0, 0, 0, 0, 0,
                               83, 66, 69, 35,  0, 0, 0, 0, 0, 0, 83, 66, 82, 89, 35, 0, 0, 0, 0, 0, 83, 67, 73, 78, 35, 0, 0, 0, 0, 0, 83, 67, 76, 35,  0, 0, 0, 0, 0, 0, 83, 68, 82, 35,  0, 0, 0, 0, 0, 0,
                               83, 71, 67, 35,  0, 0, 0, 0, 0, 0, 83, 71, 69, 35,  0, 0, 0, 0, 0, 0, 83, 71, 71, 68, 35, 0, 0, 0, 0, 0, 83, 72, 80, 35,  0, 0, 0, 0, 0, 0, 83, 73, 71, 35,  0, 0, 0, 0, 0, 0, 
                               83, 76, 69, 84, 35, 0, 0, 0, 0, 0, 83, 77, 73, 78, 35, 0, 0, 0, 0, 0, 83, 77, 83, 78, 35, 0, 0, 0, 0, 0, 83, 78, 46, 35,  0, 0, 0, 0, 0, 0, 83, 78, 75, 66, 35, 0, 0, 0, 0, 0,
                               83, 78, 80, 35,  0, 0, 0, 0, 0, 0, 83, 80, 87, 35,  0, 0, 0, 0, 0, 0, 83, 82, 80, 35,  0, 0, 0, 0, 0, 0, 83, 83, 65, 35,  0, 0, 0, 0, 0, 0, 83, 83, 69, 35,  0, 0, 0, 0, 0, 0,
                               83, 84, 65, 78, 35, 0, 0, 0, 0, 0, 83, 84, 74, 35,  0, 0, 0, 0, 0, 0, 83, 86, 83, 84, 35, 0, 0, 0, 0, 0, 83, 86, 84, 35,  0, 0, 0, 0, 0, 0, 84, 65, 84, 69, 35, 0, 0, 0, 0, 0,
                               84, 68, 69, 35,  0, 0, 0, 0, 0, 0, 84, 69, 77, 35,  0, 0, 0, 0, 0, 0, 84, 72, 75, 35,  0, 0, 0, 0, 0, 0, 84, 76, 87, 35,  0, 0, 0, 0, 0, 0, 84, 79, 77, 75, 35, 0, 0, 0, 0, 0,
                               84, 80, 75, 35,  0, 0, 0, 0, 0, 0, 84, 80, 83, 68, 35, 0, 0, 0, 0, 0, 84, 83, 67, 79, 35, 0, 0, 0, 0, 0, 84, 84, 65, 35,  0, 0, 0, 0, 0, 0, 84, 87, 79, 68, 35, 0, 0, 0, 0, 0,
                               85, 66, 77, 35,  0, 0, 0, 0, 0, 0, 85, 69, 83, 68, 35, 0, 0, 0, 0, 0, 85, 76, 86, 82, 35, 0, 0, 0, 0, 0, 85, 77, 66, 35,  0, 0, 0, 0, 0, 0, 85, 85, 46, 35,  0, 0, 0, 0, 0, 0,
                               86, 69, 68, 35,  0, 0, 0, 0, 0, 0, 86, 75, 87, 35,  0, 0, 0, 0, 0, 0, 86, 79, 68, 35,  0, 0, 0, 0, 0, 0, 87, 77, 72, 35,  0, 0, 0, 0, 0, 0, 87, 77, 80, 89, 35, 0, 0, 0, 0, 0,
                               87, 79, 83, 35,  0, 0, 0, 0, 0, 0, 87, 80, 80, 35,  0, 0, 0, 0, 0, 0, 87, 84, 66, 35,  0, 0, 0, 0, 0, 0, 88, 84, 65, 35,  0, 0, 0, 0, 0, 0, 89, 65, 85, 35,  0, 0, 0, 0, 0, 0,
                               89, 69, 76, 76, 35, 0, 0, 0, 0, 0};                          
int ArrayCFD_NewYork[384][10]={35, 65, 65,  0,  0, 0, 0, 0, 0, 0, 35, 65, 65, 80, 76,  0, 0, 0, 0, 0, 35, 65, 66, 66,  0, 0, 0, 0, 0, 0, 35, 65, 66, 77,  0,  0, 0, 0, 0, 0, 35, 65, 66, 78,  0,  0, 0, 0, 0, 0,
                               35, 65, 66, 84,  0, 0, 0, 0, 0, 0, 35, 65, 68, 66, 69,  0, 0, 0, 0, 0, 35, 65, 69, 80,  0, 0, 0, 0, 0, 0, 35, 65, 72, 67, 73,  0, 0, 0, 0, 0, 35, 65, 73, 71,  0,  0, 0, 0, 0, 0,
                               35, 65, 75, 72,  0, 0, 0, 0, 0, 0, 35, 65, 75, 90, 79, 89, 0, 0, 0, 0, 35, 65, 77, 65, 84, 0, 0, 0, 0, 0, 35, 65, 77, 68,  0,  0, 0, 0, 0, 0, 35, 65, 77, 90, 78,  0, 0, 0, 0, 0,
                               35, 65, 83, 68,  0, 0, 0, 0, 0, 0, 35, 65, 88, 80,  0,  0, 0, 0, 0, 0, 35, 66, 65,  0,  0, 0, 0, 0, 0, 0, 35, 66, 65, 67,  0,  0, 0, 0, 0, 0, 35, 66, 65, 89, 69, 82, 0, 0, 0, 0,
                               35, 66, 67,  0,  0, 0, 0, 0, 0, 0, 35, 66, 68, 75,  0,  0, 0, 0, 0, 0, 35, 66, 69, 78,  0, 0, 0, 0, 0, 0, 35, 66, 70,  0,  0,  0, 0, 0, 0, 0, 35, 66, 71, 80,  0,  0, 0, 0, 0, 0,
                               35, 66, 75,  0,  0, 0, 0, 0, 0, 0, 35, 66, 75, 83,  0,  0, 0, 0, 0, 0, 35, 66, 77, 89,  0, 0, 0, 0, 0, 0, 35, 66, 78, 71,  0,  0, 0, 0, 0, 0, 35, 66, 84, 77,  0,  0, 0, 0, 0, 0,
                               35, 66, 85, 68,  0, 0, 0, 0, 0, 0, 35, 67,  0,  0,  0,  0, 0, 0, 0, 0, 35, 67, 65, 74,  0, 0, 0, 0, 0, 0, 35, 67, 65, 84,  0,  0, 0, 0, 0, 0, 35, 67, 67,  0,  0,  0, 0, 0, 0, 0,
                               35, 67, 73, 65,  0, 0, 0, 0, 0, 0, 35, 67, 76, 95,  0,  0, 0, 0, 0, 0, 35, 67, 77, 88,  0, 0, 0, 0, 0, 0, 35, 67, 79, 80,  0,  0, 0, 0, 0, 0, 35, 67, 83, 67, 79,  0, 0, 0, 0, 0,
                               35, 67, 83, 71,  0, 0, 0, 0, 0, 0, 35, 67, 83, 88,  0,  0, 0, 0, 0, 0, 35, 67, 84, 66, 75, 0, 0, 0, 0, 0, 35, 67, 86, 83,  0,  0, 0, 0, 0, 0, 35, 67, 86, 88,  0,  0, 0, 0, 0, 0,
                               35, 67, 89,  0,  0, 0, 0, 0, 0, 0, 35, 68, 65,  0,  0,  0, 0, 0, 0, 0, 35, 68, 67, 88,  0, 0, 0, 0, 0, 0, 35, 68, 68,  0,  0,  0, 0, 0, 0, 0, 35, 68, 69, 76, 76,  0, 0, 0, 0, 0,
                               35, 68, 73, 65,  0, 0, 0, 0, 0, 0, 35, 68, 73, 83,  0,  0, 0, 0, 0, 0, 35, 68, 76, 66,  0, 0, 0, 0, 0, 0, 35, 68, 79, 87,  0,  0, 0, 0, 0, 0, 35, 68, 87, 65,  0,  0, 0, 0, 0, 0, 
                               35, 69, 66, 65, 89, 0, 0, 0, 0, 0, 35, 69, 68, 83,  0,  0, 0, 0, 0, 0, 35, 69, 75,  0,  0, 0, 0, 0, 0, 0, 35, 69, 76, 69,  0,  0, 0, 0, 0, 0, 35, 69, 77, 67,  0,  0, 0, 0, 0, 0,
                               35, 69, 78,  0,  0, 0, 0, 0, 0, 0, 35, 69, 87, 74,  0,  0, 0, 0, 0, 0, 35, 70,  0,  0,  0, 0, 0, 0, 0, 0, 35, 70, 68, 67,  0,  0, 0, 0, 0, 0, 35, 70, 68, 88,  0,  0, 0, 0, 0, 0,
                               35, 70, 73, 65,  0, 0, 0, 0, 0, 0, 35, 70, 83,  0,  0,  0, 0, 0, 0, 0, 35, 70, 84, 69,  0, 0, 0, 0, 0, 0, 35, 71, 69,  0,  0,  0, 0, 0, 0, 0, 35, 71, 76, 68, 78,  0, 0, 0, 0, 0,
                               35, 71, 76, 87,  0, 0, 0, 0, 0, 0, 35, 71, 77,  0,  0,  0, 0, 0, 0, 0, 35, 71, 79, 79, 71, 0, 0, 0, 0, 0, 35, 71, 83,  0,  0,  0, 0, 0, 0, 0, 35, 71, 89, 77, 66,  0, 0, 0, 0, 0,
                               35, 72, 65, 76,  0, 0, 0, 0, 0, 0, 35, 72, 68,  0,  0,  0, 0, 0, 0, 0, 35, 72, 76, 70,  0, 0, 0, 0, 0, 0, 35, 72, 76, 84,  0,  0, 0, 0, 0, 0, 35, 72, 77, 67,  0,  0, 0, 0, 0, 0,
                               35, 72, 79, 78,  0, 0, 0, 0, 0, 0, 35, 72, 80, 81,  0,  0, 0, 0, 0, 0, 35, 73, 66, 77,  0, 0, 0, 0, 0, 0, 35, 73, 66, 78,  0,  0, 0, 0, 0, 0, 35, 73, 78, 84, 67,  0, 0, 0, 0, 0,
                               35, 73, 80,  0,  0, 0, 0, 0, 0, 0, 35, 73, 80, 71,  0,  0, 0, 0, 0, 0, 35, 73, 84, 84,  0, 0, 0, 0, 0, 0, 35, 74, 78, 74,  0,  0, 0, 0, 0, 0, 35, 74, 80, 77,  0,  0, 0, 0, 0, 0,
                               35, 75, 69, 80,  0, 0, 0, 0, 0, 0, 35, 75, 70, 84,  0,  0, 0, 0, 0, 0, 35, 75, 79,  0,  0, 0, 0, 0, 0, 0, 35, 75, 89, 79,  0,  0, 0, 0, 0, 0, 35, 76, 70,  0,  0,  0, 0, 0, 0, 0,
                               35, 76, 76, 89,  0, 0, 0, 0, 0, 0, 35, 76, 77, 84,  0,  0, 0, 0, 0, 0, 35, 76, 79, 87,  0, 0, 0, 0, 0, 0, 35, 76, 80, 76,  0,  0, 0, 0, 0, 0, 35, 76, 83, 73,  0,  0, 0, 0, 0, 0,
                               35, 76, 88, 75,  0, 0, 0, 0, 0, 0, 35, 76, 89, 71,  0,  0, 0, 0, 0, 0, 35, 77, 66, 84,  0, 0, 0, 0, 0, 0, 35, 77, 67,  0,  0,  0, 0, 0, 0, 0, 35, 77, 67, 68,  0,  0, 0, 0, 0, 0,
                               35, 77, 71, 77,  0, 0, 0, 0, 0, 0, 35, 77, 75, 84, 65, 89, 0, 0, 0, 0, 35, 77, 77, 67,  0, 0, 0, 0, 0, 0, 35, 77, 77, 77,  0,  0, 0, 0, 0, 0, 35, 77, 79,  0,  0,  0, 0, 0, 0, 0,
                               35, 77, 79, 84,  0, 0, 0, 0, 0, 0, 35, 77, 82, 75,  0,  0, 0, 0, 0, 0, 35, 77, 83, 70, 84, 0, 0, 0, 0, 0, 35, 77, 84,  0,  0,  0, 0, 0, 0, 0, 35, 77, 84, 76,  0,  0, 0, 0, 0, 0,
                               35, 77, 84, 85,  0, 0, 0, 0, 0, 0, 35, 77, 85,  0,  0,  0, 0, 0, 0, 0, 35, 77, 88, 87, 76, 0, 0, 0, 0, 0, 35, 78, 69, 77,  0,  0, 0, 0, 0, 0, 35, 78, 69, 87,  0,  0, 0, 0, 0, 0,
                               35, 78, 75, 69,  0, 0, 0, 0, 0, 0, 35, 78, 79, 75,  0,  0, 0, 0, 0, 0, 35, 78, 79, 86, 76, 0, 0, 0, 0, 0, 35, 78, 83, 65, 78, 89, 0, 0, 0, 0, 35, 78, 86, 83,  0,  0, 0, 0, 0, 0,
                               35, 78, 87, 83,  0, 0, 0, 0, 0, 0, 35, 78, 89, 84,  0,  0, 0, 0, 0, 0, 35, 78, 90, 84,  0, 0, 0, 0, 0, 0, 35, 79, 82, 67, 76,  0, 0, 0, 0, 0, 35, 80, 65, 76, 77,  0, 0, 0, 0, 0,
                               35, 80, 68,  0,  0, 0, 0, 0, 0, 0, 35, 80, 68, 67, 79,  0, 0, 0, 0, 0, 35, 80, 69, 80,  0, 0, 0, 0, 0, 0, 35, 80, 70, 69,  0,  0, 0, 0, 0, 0, 35, 80, 71,  0,  0,  0, 0, 0, 0, 0,
                               35, 80, 72, 71,  0, 0, 0, 0, 0, 0, 35, 80, 76, 65,  0,  0, 0, 0, 0, 0, 35, 80, 80, 71,  0, 0, 0, 0, 0, 0, 35, 80, 83, 79,  0,  0, 0, 0, 0, 0, 35, 80, 85, 66,  0,  0, 0, 0, 0, 0,
                               35, 81,  0,  0,  0, 0, 0, 0, 0, 0, 35, 81, 81, 81,  0,  0, 0, 0, 0, 0, 35, 82, 68, 83,  0, 0, 0, 0, 0, 0, 35, 82, 68, 83, 46, 65, 0, 0, 0, 0, 35, 82, 68, 89,  0,  0, 0, 0, 0, 0,
                               35, 82, 73, 79,  0, 0, 0, 0, 0, 0, 35, 82, 79, 83,  0,  0, 0, 0, 0, 0, 35, 82, 79, 83, 84, 0, 0, 0, 0, 0, 35, 82, 84, 73,  0,  0, 0, 0, 0, 0, 35, 82, 84, 80,  0,  0, 0, 0, 0, 0,
                               35, 83,  0,  0,  0, 0, 0, 0, 0, 0, 35, 83, 65, 80,  0,  0, 0, 0, 0, 0, 35, 83, 66, 85, 88, 0, 0, 0, 0, 0, 35, 83, 71, 80,  0,  0, 0, 0, 0, 0, 35, 83, 72, 76, 68,  0, 0, 0, 0, 0,
                               35, 83, 73,  0,  0, 0, 0, 0, 0, 0, 35, 83, 76, 69,  0,  0, 0, 0, 0, 0, 35, 83, 78, 68, 75, 0, 0, 0, 0, 0, 35, 83, 78, 69,  0,  0, 0, 0, 0, 0, 35, 83, 78, 89,  0,  0, 0, 0, 0, 0,
                               35, 83, 80, 89,  0, 0, 0, 0, 0, 0, 35, 83, 85, 78, 87,  0, 0, 0, 0, 0, 35, 83, 89, 77, 67, 0, 0, 0, 0, 0, 35, 84,  0,  0,  0,  0, 0, 0, 0, 0, 35, 84, 67, 75,  0,  0, 0, 0, 0, 0,
                               35, 84, 68, 75,  0, 0, 0, 0, 0, 0, 35, 84, 69, 78,  0,  0, 0, 0, 0, 0, 35, 84, 69, 79,  0, 0, 0, 0, 0, 0, 35, 84, 76, 77,  0,  0, 0, 0, 0, 0, 35, 84, 77,  0,  0,  0, 0, 0, 0, 0,
                               35, 84, 77, 75,  0, 0, 0, 0, 0, 0, 35, 84, 82, 66,  0,  0, 0, 0, 0, 0, 35, 84, 82, 67, 82, 0, 0, 0, 0, 0, 35, 84, 83, 77,  0,  0, 0, 0, 0, 0, 35, 84, 84, 77,  0,  0, 0, 0, 0, 0,
                               35, 84, 87, 88,  0, 0, 0, 0, 0, 0, 35, 84, 88, 77,  0,  0, 0, 0, 0, 0, 35, 85, 66, 83,  0, 0, 0, 0, 0, 0, 35, 85, 76,  0,  0,  0, 0, 0, 0, 0, 35, 85, 84, 88,  0,  0, 0, 0, 0, 0,
                               35, 86, 73, 80,  0, 0, 0, 0, 0, 0, 35, 86, 82, 83, 78,  0, 0, 0, 0, 0, 35, 86, 90,  0,  0, 0, 0, 0, 0, 0, 35, 87, 66, 68,  0,  0, 0, 0, 0, 0, 35, 87, 68, 67,  0,  0, 0, 0, 0, 0,
                               35, 87, 70, 67,  0, 0, 0, 0, 0, 0, 35, 87, 70, 77, 73,  0, 0, 0, 0, 0, 35, 87, 77, 84,  0, 0, 0, 0, 0, 0, 35, 87, 89, 78, 78,  0, 0, 0, 0, 0, 35, 88, 79, 77,  0,  0, 0, 0, 0, 0,
                               35, 88, 82, 88,  0, 0, 0, 0, 0, 0, 35, 89, 72, 79, 79,  0, 0, 0, 0, 0,
                               65, 65, 35,  0,  0, 0, 0, 0, 0, 0, 65, 65, 80, 76, 35,  0, 0, 0, 0, 0, 65, 66, 66, 35,  0, 0, 0, 0, 0, 0, 65, 66, 77, 35,  0,  0, 0, 0, 0, 0, 65, 66, 78, 35,  0,  0, 0, 0, 0, 0,
                               65, 66, 84, 35,  0, 0, 0, 0, 0, 0, 65, 68, 66, 69, 35,  0, 0, 0, 0, 0, 65, 69, 80, 35,  0, 0, 0, 0, 0, 0, 65, 72, 67, 73, 35,  0, 0, 0, 0, 0, 65, 73, 71, 35,  0,  0, 0, 0, 0, 0,
                               65, 75, 72, 35,  0, 0, 0, 0, 0, 0, 65, 75, 90, 79, 89, 35, 0, 0, 0, 0, 65, 77, 65, 84, 35, 0, 0, 0, 0, 0, 65, 77, 68, 35,  0,  0, 0, 0, 0, 0, 65, 77, 90, 78, 35,  0, 0, 0, 0, 0,
                               65, 83, 68, 35,  0, 0, 0, 0, 0, 0, 65, 88, 80, 35,  0,  0, 0, 0, 0, 0, 66, 65, 35,  0,  0, 0, 0, 0, 0, 0, 66, 65, 67, 35,  0,  0, 0, 0, 0, 0, 66, 65, 89, 69, 82, 35, 0, 0, 0, 0,
                               66, 67, 35,  0,  0, 0, 0, 0, 0, 0, 66, 68, 75, 35,  0,  0, 0, 0, 0, 0, 66, 69, 78, 35,  0, 0, 0, 0, 0, 0, 66, 70, 35,  0,  0,  0, 0, 0, 0, 0, 66, 71, 80, 35,  0,  0, 0, 0, 0, 0,
                               66, 75, 35,  0,  0, 0, 0, 0, 0, 0, 66, 75, 83, 35,  0,  0, 0, 0, 0, 0, 66, 77, 89, 35,  0, 0, 0, 0, 0, 0, 66, 78, 71, 35,  0,  0, 0, 0, 0, 0, 66, 84, 77, 35,  0,  0, 0, 0, 0, 0,
                               66, 85, 68, 35,  0, 0, 0, 0, 0, 0, 67, 35,  0,  0,  0,  0, 0, 0, 0, 0, 67, 65, 74, 35,  0, 0, 0, 0, 0, 0, 67, 65, 84, 35,  0,  0, 0, 0, 0, 0, 67, 67, 35,  0,  0,  0, 0, 0, 0, 0,
                               67, 73, 65, 35,  0, 0, 0, 0, 0, 0, 67, 76, 95, 35,  0,  0, 0, 0, 0, 0, 67, 77, 88, 35,  0, 0, 0, 0, 0, 0, 67, 79, 80, 35,  0,  0, 0, 0, 0, 0, 67, 83, 67, 79, 35,  0, 0, 0, 0, 0,
                               67, 83, 71, 35,  0, 0, 0, 0, 0, 0, 67, 83, 88, 35,  0,  0, 0, 0, 0, 0, 67, 84, 66, 75, 35, 0, 0, 0, 0, 0, 67, 86, 83, 35,  0,  0, 0, 0, 0, 0, 67, 86, 88, 35,  0,  0, 0, 0, 0, 0,
                               67, 89, 35,  0,  0, 0, 0, 0, 0, 0, 68, 65, 35,  0,  0,  0, 0, 0, 0, 0, 68, 67, 88, 35,  0, 0, 0, 0, 0, 0, 68, 68, 35,  0,  0,  0, 0, 0, 0, 0, 68, 69, 76, 76, 35,  0, 0, 0, 0, 0,
                               68, 73, 65, 35,  0, 0, 0, 0, 0, 0, 68, 73, 83, 35,  0,  0, 0, 0, 0, 0, 68, 76, 66, 35,  0, 0, 0, 0, 0, 0, 68, 79, 87, 35,  0,  0, 0, 0, 0, 0, 68, 87, 65, 35,  0,  0, 0, 0, 0, 0, 
                               69, 66, 65, 89, 35, 0, 0, 0, 0, 0, 69, 68, 83, 35,  0,  0, 0, 0, 0, 0, 69, 75, 35,  0,  0, 0, 0, 0, 0, 0, 69, 76, 69, 35,  0,  0, 0, 0, 0, 0, 69, 77, 67, 35,  0,  0, 0, 0, 0, 0,
                               69, 78, 35,  0,  0, 0, 0, 0, 0, 0, 69, 87, 74, 35,  0,  0, 0, 0, 0, 0, 70, 35,  0,  0,  0, 0, 0, 0, 0, 0, 70, 68, 67, 35,  0,  0, 0, 0, 0, 0, 70, 68, 88, 35,  0,  0, 0, 0, 0, 0,
                               70, 73, 65, 35,  0, 0, 0, 0, 0, 0, 70, 83, 35,  0,  0,  0, 0, 0, 0, 0, 70, 84, 69, 35,  0, 0, 0, 0, 0, 0, 71, 69, 35,  0,  0,  0, 0, 0, 0, 0, 71, 76, 68, 78, 35,  0, 0, 0, 0, 0,
                               71, 76, 87, 35,  0, 0, 0, 0, 0, 0, 71, 77, 35,  0,  0,  0, 0, 0, 0, 0, 71, 79, 79, 71, 35, 0, 0, 0, 0, 0, 71, 83, 35,  0,  0,  0, 0, 0, 0, 0, 71, 89, 77, 66, 35,  0, 0, 0, 0, 0,
                               72, 65, 76, 35,  0, 0, 0, 0, 0, 0, 72, 68, 35,  0,  0,  0, 0, 0, 0, 0, 72, 76, 70, 35,  0, 0, 0, 0, 0, 0, 72, 76, 84, 35,  0,  0, 0, 0, 0, 0, 72, 77, 67, 35,  0,  0, 0, 0, 0, 0,
                               72, 79, 78, 35,  0, 0, 0, 0, 0, 0, 72, 80, 81, 35,  0,  0, 0, 0, 0, 0, 73, 66, 77, 35,  0, 0, 0, 0, 0, 0, 73, 66, 78, 35,  0,  0, 0, 0, 0, 0, 73, 78, 84, 67, 35,  0, 0, 0, 0, 0,
                               73, 80, 35,  0,  0, 0, 0, 0, 0, 0, 73, 80, 71, 35,  0,  0, 0, 0, 0, 0, 73, 84, 84, 35,  0, 0, 0, 0, 0, 0, 74, 78, 74, 35,  0,  0, 0, 0, 0, 0, 74, 80, 77, 35,  0,  0, 0, 0, 0, 0,
                               75, 69, 80, 35,  0, 0, 0, 0, 0, 0, 75, 70, 84, 35,  0,  0, 0, 0, 0, 0, 75, 79, 35,  0,  0, 0, 0, 0, 0, 0, 75, 89, 79, 35,  0,  0, 0, 0, 0, 0, 76, 70, 35,  0,  0,  0, 0, 0, 0, 0,
                               76, 76, 89, 35,  0, 0, 0, 0, 0, 0, 76, 77, 84, 35,  0,  0, 0, 0, 0, 0, 76, 79, 87, 35,  0, 0, 0, 0, 0, 0, 76, 80, 76, 35,  0,  0, 0, 0, 0, 0, 76, 83, 73, 35,  0,  0, 0, 0, 0, 0,
                               76, 88, 75, 35,  0, 0, 0, 0, 0, 0, 76, 89, 71, 35,  0,  0, 0, 0, 0, 0, 77, 66, 84, 35,  0, 0, 0, 0, 0, 0, 77, 67, 35,  0,  0,  0, 0, 0, 0, 0, 77, 67, 68, 35,  0,  0, 0, 0, 0, 0,
                               77, 71, 77, 35,  0, 0, 0, 0, 0, 0, 77, 75, 84, 65, 89, 35, 0, 0, 0, 0, 77, 77, 67, 35,  0, 0, 0, 0, 0, 0, 77, 77, 77, 35,  0,  0, 0, 0, 0, 0, 77, 79, 35,  0,  0,  0, 0, 0, 0, 0,
                               77, 79, 84, 35,  0, 0, 0, 0, 0, 0, 77, 82, 75, 35,  0,  0, 0, 0, 0, 0, 77, 83, 70, 84, 35, 0, 0, 0, 0, 0, 77, 84, 35,  0,  0,  0, 0, 0, 0, 0, 77, 84, 76, 35,  0,  0, 0, 0, 0, 0,
                               77, 84, 85, 35,  0, 0, 0, 0, 0, 0, 77, 85, 35,  0,  0,  0, 0, 0, 0, 0, 77, 88, 87, 76, 35, 0, 0, 0, 0, 0, 78, 69, 77, 35,  0,  0, 0, 0, 0, 0, 78, 69, 87, 35,  0,  0, 0, 0, 0, 0,
                               78, 75, 69, 35,  0, 0, 0, 0, 0, 0, 78, 79, 75, 35,  0,  0, 0, 0, 0, 0, 78, 79, 86, 76, 35, 0, 0, 0, 0, 0, 78, 83, 65, 78, 89, 35, 0, 0, 0, 0, 78, 86, 83, 35,  0,  0, 0, 0, 0, 0,
                               78, 87, 83, 35,  0, 0, 0, 0, 0, 0, 78, 89, 84, 35,  0,  0, 0, 0, 0, 0, 78, 90, 84, 35,  0, 0, 0, 0, 0, 0, 79, 82, 67, 76, 35,  0, 0, 0, 0, 0, 80, 65, 76, 77, 35,  0, 0, 0, 0, 0,
                               80, 68, 35,  0,  0, 0, 0, 0, 0, 0, 80, 68, 67, 79, 35,  0, 0, 0, 0, 0, 80, 69, 80, 35,  0, 0, 0, 0, 0, 0, 80, 70, 69, 35,  0,  0, 0, 0, 0, 0, 80, 71, 35,  0,  0,  0, 0, 0, 0, 0,
                               80, 72, 71, 35,  0, 0, 0, 0, 0, 0, 80, 76, 65, 35,  0,  0, 0, 0, 0, 0, 80, 80, 71, 35,  0, 0, 0, 0, 0, 0, 80, 83, 79, 35,  0,  0, 0, 0, 0, 0, 80, 85, 66, 35,  0,  0, 0, 0, 0, 0,
                               81, 35,  0,  0,  0, 0, 0, 0, 0, 0, 81, 81, 81, 35,  0,  0, 0, 0, 0, 0, 82, 68, 83, 35,  0, 0, 0, 0, 0, 0, 82, 68, 83, 46, 65, 35, 0, 0, 0, 0, 82, 68, 89, 35,  0,  0, 0, 0, 0, 0,
                               82, 73, 79, 35,  0, 0, 0, 0, 0, 0, 82, 79, 83, 35,  0,  0, 0, 0, 0, 0, 82, 79, 83, 84, 35, 0, 0, 0, 0, 0, 82, 84, 73, 35,  0,  0, 0, 0, 0, 0, 82, 84, 80, 35,  0,  0, 0, 0, 0, 0,
                               83, 35,  0,  0,  0, 0, 0, 0, 0, 0, 83, 65, 80, 35,  0,  0, 0, 0, 0, 0, 83, 66, 85, 88, 35, 0, 0, 0, 0, 0, 83, 71, 80, 35,  0,  0, 0, 0, 0, 0, 83, 72, 76, 68, 35,  0, 0, 0, 0, 0,
                               83, 73, 35,  0,  0, 0, 0, 0, 0, 0, 83, 76, 69, 35,  0,  0, 0, 0, 0, 0, 83, 78, 68, 75, 35, 0, 0, 0, 0, 0, 83, 78, 69, 35,  0,  0, 0, 0, 0, 0, 83, 78, 89, 35,  0,  0, 0, 0, 0, 0,
                               83, 80, 89, 35,  0, 0, 0, 0, 0, 0, 83, 85, 78, 87, 35,  0, 0, 0, 0, 0, 83, 89, 77, 67, 35, 0, 0, 0, 0, 0, 84, 35,  0,  0,  0,  0, 0, 0, 0, 0, 84, 67, 75, 35,  0,  0, 0, 0, 0, 0,
                               84, 68, 75, 35,  0, 0, 0, 0, 0, 0, 84, 69, 78, 35,  0,  0, 0, 0, 0, 0, 84, 69, 79, 35,  0, 0, 0, 0, 0, 0, 84, 76, 77, 35,  0,  0, 0, 0, 0, 0, 84, 77, 35,  0,  0,  0, 0, 0, 0, 0,
                               84, 77, 75, 35,  0, 0, 0, 0, 0, 0, 84, 82, 66, 35,  0,  0, 0, 0, 0, 0, 84, 82, 67, 82, 35, 0, 0, 0, 0, 0, 84, 83, 77, 35,  0,  0, 0, 0, 0, 0, 84, 84, 77, 35,  0,  0, 0, 0, 0, 0,
                               84, 87, 88, 35,  0, 0, 0, 0, 0, 0, 84, 88, 78, 35,  0,  0, 0, 0, 0, 0, 85, 66, 83, 35,  0, 0, 0, 0, 0, 0, 85, 76, 35,  0,  0,  0, 0, 0, 0, 0, 85, 84, 88, 35,  0,  0, 0, 0, 0, 0,
                               86, 73, 80, 35,  0, 0, 0, 0, 0, 0, 86, 82, 83, 78, 35,  0, 0, 0, 0, 0, 86, 90, 35,  0,  0, 0, 0, 0, 0, 0, 87, 66, 68, 35,  0,  0, 0, 0, 0, 0, 87, 68, 67, 35,  0,  0, 0, 0, 0, 0,
                               87, 70, 67, 35,  0, 0, 0, 0, 0, 0, 87, 70, 77, 73, 35,  0, 0, 0, 0, 0, 87, 77, 84, 35,  0, 0, 0, 0, 0, 0, 87, 89, 78, 78, 35,  0, 0, 0, 0, 0, 88, 79, 77, 35,  0,  0, 0, 0, 0, 0,
                               88, 82, 88, 35,  0, 0, 0, 0, 0, 0, 89, 72, 79, 79, 35,  0, 0, 0, 0, 0};
int ArrayCFD_Tokyo[36][10] =  {52, 57, 48, 49, 35, 0, 0, 0, 0, 0, 52, 57, 48, 50, 35, 0, 0, 0, 0, 0, 52, 57, 49, 49, 35, 0, 0, 0, 0, 0, 53, 48, 49, 54, 35, 0, 0, 0, 0, 0, 53, 49, 48, 56, 35, 0, 0, 0, 0, 0,
                               53, 52, 48, 49, 35, 0, 0, 0, 0, 0, 54, 51, 54, 55, 35, 0, 0, 0, 0, 0, 54, 52, 55, 51, 35, 0, 0, 0, 0, 0, 54, 53, 48, 50, 35, 0, 0, 0, 0, 0, 54, 55, 48, 49, 35, 0, 0, 0, 0, 0,
                               54, 55, 48, 51, 35, 0, 0, 0, 0, 0, 54, 55, 53, 50, 35, 0, 0, 0, 0, 0, 54, 55, 53, 56, 35, 0, 0, 0, 0, 0, 54, 55, 54, 50, 35, 0, 0, 0, 0, 0, 54, 55, 54, 52, 35, 0, 0, 0, 0, 0,
                               54, 55, 55, 51, 35, 0, 0, 0, 0, 0, 54, 55, 57, 54, 35, 0, 0, 0, 0, 0, 54, 57, 53, 50, 35, 0, 0, 0, 0, 0, 54, 57, 55, 49, 35, 0, 0, 0, 0, 0, 55, 48, 49, 50, 35, 0, 0, 0, 0, 0,
                               55, 50, 48, 49, 35, 0, 0, 0, 0, 0, 55, 50, 48, 50, 35, 0, 0, 0, 0, 0, 55, 50, 48, 51, 35, 0, 0, 0, 0, 0, 55, 50, 54, 49, 35, 0, 0, 0, 0, 0, 55, 50, 54, 55, 35, 0, 0, 0, 0, 0,
                               55, 50, 54, 57, 35, 0, 0, 0, 0, 0, 55, 55, 51, 49, 35, 0, 0, 0, 0, 0, 55, 55, 51, 51, 35, 0, 0, 0, 0, 0, 55, 55, 53, 49, 35, 0, 0, 0, 0, 0, 55, 55, 53, 50, 35, 0, 0, 0, 0, 0,
                               55, 55, 54, 50, 35, 0, 0, 0, 0, 0, 55, 57, 53, 49, 35, 0, 0, 0, 0, 0, 56, 48, 51, 49, 35, 0, 0, 0, 0, 0, 57, 50, 48, 53, 35, 0, 0, 0, 0, 0, 57, 53, 51, 50, 35, 0, 0, 0, 0, 0,
                               57, 57, 56, 52, 35, 0, 0, 0, 0, 0};
int ArrayCFD_Moscow[96][10] = {65, 70, 76, 84, 35,  0, 0, 0, 0, 0, 65, 82, 77, 68, 35,  0, 0, 0, 0, 0, 65, 86, 65, 90, 35,  0, 0, 0, 0, 0, 65, 86, 65, 90, 80, 35, 0, 0, 0, 0, 67, 72, 77, 70, 35,  0, 0, 0, 0, 0,
                               67, 72, 77, 70, 35,  0, 0, 0, 0, 0, 67, 84, 76, 75, 35,  0, 0, 0, 0, 0, 67, 84, 76, 75, 80, 35, 0, 0, 0, 0, 69, 78, 67, 79, 35,  0, 0, 0, 0, 0, 69, 78, 67, 79, 80, 35, 0, 0, 0, 0,
                               69, 83, 80, 75, 35,  0, 0, 0, 0, 0, 69, 83, 80, 75, 80, 35, 0, 0, 0, 0, 69, 69, 83, 82, 35,  0, 0, 0, 0, 0, 69, 69, 83, 82, 80, 35, 0, 0, 0, 0, 69, 78, 67, 79, 35,  0, 0, 0, 0, 0,
                               69, 78, 67, 79, 80, 35, 0, 0, 0, 0, 71, 65, 90, 80, 35,  0, 0, 0, 0, 0, 71, 77, 75, 78, 35,  0, 0, 0, 0, 0, 71, 82, 65, 90, 35,  0, 0, 0, 0, 0, 72, 65, 76, 83, 35,  0, 0, 0, 0, 0,
                               73, 82, 71, 90, 35,  0, 0, 0, 0, 0, 73, 82, 75, 84, 35,  0, 0, 0, 0, 0, 75, 85, 66, 78, 35,  0, 0, 0, 0, 0, 75, 85, 66, 78, 80, 35, 0, 0, 0, 0, 76, 69, 75, 90, 35,  0, 0, 0, 0, 0,
                               76, 75, 79, 72, 35,  0, 0, 0, 0, 0, 77, 65, 71, 78, 35,  0, 0, 0, 0, 0, 77, 71, 84, 83, 35,  0, 0, 0, 0, 0, 77, 71, 84, 83, 80, 35, 0, 0, 0, 0, 77, 83, 78, 71, 35,  0, 0, 0, 0, 0, 
                               77, 83, 83, 66, 35,  0, 0, 0, 0, 0, 77, 84, 83, 83, 35,  0, 0, 0, 0, 0, 78, 76, 77, 75, 35,  0, 0, 0, 0, 0, 78, 78, 83, 73, 35,  0, 0, 0, 0, 0, 78, 78, 83, 73, 80, 35, 0, 0, 0, 0,
                               78, 84, 77, 75, 35,  0, 0, 0, 0, 0, 80, 77, 84, 76, 35,  0, 0, 0, 0, 0, 80, 90, 76, 35,  0,  0, 0, 0, 0, 0, 82, 65, 83, 80, 35,  0, 0, 0, 0, 0, 82, 66, 67, 73, 35,  0, 0, 0, 0, 0,
                               82, 79, 83, 66, 35,  0, 0, 0, 0, 0, 82, 79, 83, 78, 95, 35, 0, 0, 0, 0, 82, 84, 75, 77, 35,  0, 0, 0, 0, 0, 82, 84, 75, 77, 80, 35, 0, 0, 0, 0, 83, 66, 69, 82, 35,  0, 0, 0, 0, 0,
                               83, 66, 69, 82, 80, 35, 0, 0, 0, 0, 83, 67, 79, 78, 35,  0, 0, 0, 0, 0, 83, 73, 66, 78, 35,  0, 0, 0, 0, 0, 83, 78, 71, 83, 35,  0, 0, 0, 0, 0, 83, 80, 84, 76, 35,  0, 0, 0, 0, 0,
                               83, 80, 84, 76, 80, 35, 0, 0, 0, 0, 83, 86, 65, 86, 35,  0, 0, 0, 0, 0, 83, 86, 83, 66, 35,  0, 0, 0, 0, 0, 84, 65, 84, 78, 35,  0, 0, 0, 0, 0, 84, 65, 84, 78, 80, 35, 0, 0, 0, 0,
                               84, 71, 75, 71, 35,  0, 0, 0, 0, 0, 84, 82, 77, 75, 35,  0, 0, 0, 0, 0, 85, 82, 83, 73, 35,  0, 0, 0, 0, 0, 85, 82, 83, 73, 80, 35, 0, 0, 0, 0, 86, 83, 77, 79, 35,  0, 0, 0, 0, 0,
                               86, 84, 66, 82, 35,  0, 0, 0, 0, 0, 86, 90, 82, 90, 35,  0, 0, 0, 0, 0, 89, 65, 69, 78, 35,  0, 0, 0, 0, 0,
                               65, 70, 76, 82, 85, 82, 0, 0, 0, 0, 65, 86, 84, 82, 85, 82, 0, 0, 0, 0, 69, 69, 80, 82, 85, 82, 0, 0, 0, 0, 69, 69, 83, 82, 85, 82, 0, 0, 0, 0, 71, 65, 90, 82, 85, 82, 0, 0, 0, 0,
                               71, 77, 75, 82, 85, 82, 0, 0, 0, 0, 73, 82, 75, 82, 85, 82, 0, 0, 0, 0, 76, 66, 68, 82, 85, 82, 0, 0, 0, 0, 76, 75, 79, 82, 85, 82, 0, 0, 0, 0, 77, 77, 75, 82, 85, 82, 0, 0, 0, 0,
                               77, 83, 78, 82, 85, 82, 0, 0, 0, 0, 77, 84, 83, 82, 85, 82, 0, 0, 0, 0, 79, 71, 51, 82, 85, 82, 0, 0, 0, 0, 77, 71, 53, 82, 85, 82, 0, 0, 0, 0, 80, 76, 90, 82, 85, 82, 0, 0, 0, 0,
                               82, 66, 67, 82, 85, 82, 0, 0, 0, 0, 82, 83, 78, 82, 85, 82, 0, 0, 0, 0, 82, 84, 75, 82, 85, 82, 0, 0, 0, 0, 82, 84, 80, 82, 85, 82, 0, 0, 0, 0, 83, 66, 69, 82, 85, 82, 0, 0, 0, 0,
                               83, 66, 80, 82, 85, 82, 0, 0, 0, 0, 83, 73, 66, 82, 85, 82, 0, 0, 0, 0, 83, 78, 71, 82, 85, 82, 0, 0, 0, 0, 83, 78, 80, 82, 85, 82, 0, 0, 0, 0, 83, 80, 84, 82, 85, 82, 0, 0, 0, 0,
                               83, 84, 75, 82, 85, 82, 0, 0, 0, 0, 83, 86, 65, 82, 85, 82, 0, 0, 0, 0, 84, 65, 80, 82, 85, 82, 0, 0, 0, 0, 84, 65, 84, 82, 85, 82, 0, 0, 0, 0, 85, 65, 90, 82, 85, 82, 0, 0, 0, 0,
                               85, 84, 65, 82, 85, 82, 0, 0, 0, 0, 86, 84, 76, 82, 85, 82, 0, 0, 0, 0, 89, 69, 78, 82, 85, 82, 0, 0, 0, 0};
int ArrayCFD_ForexBest[54][10]={66, 79, 0, 0, 0, 0, 0, 0, 0, 0, 66, 80,  0, 0, 0, 0, 0, 0, 0, 0, 67,  0,  0, 0, 0, 0, 0, 0, 0, 0, 67, 65,  0, 0, 0, 0, 0, 0, 0, 0, 67, 67,  0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 0, 0, 0, 0, 0, 0, 0, 0,
                               67, 76, 0, 0, 0, 0, 0, 0, 0, 0, 67, 80,  0, 0, 0, 0, 0, 0, 0, 0, 67, 84,  0, 0, 0, 0, 0, 0, 0, 0, 68, 65,  0, 0, 0, 0, 0, 0, 0, 0, 68, 70,  0, 0, 0, 0, 0, 0, 0, 0, 68, 88, 0, 0, 0, 0, 0, 0, 0, 0,
                               69, 68, 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 85, 0, 0, 0, 0, 0, 0, 0, 69, 78, 81, 0, 0, 0, 0, 0, 0, 0, 69, 80,  0, 0, 0, 0, 0, 0, 0, 0, 69, 82,  0, 0, 0, 0, 0, 0, 0, 0, 69, 85, 0, 0, 0, 0, 0, 0, 0, 0,
                               70, 67, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70,  0, 0, 0, 0, 0, 0, 0, 0, 71, 67,  0, 0, 0, 0, 0, 0, 0, 0, 72, 79,  0, 0, 0, 0, 0, 0, 0, 0, 72, 85,  0, 0, 0, 0, 0, 0, 0, 0, 74, 89, 0, 0, 0, 0, 0, 0, 0, 0,
                               76, 66, 0, 0, 0, 0, 0, 0, 0, 0, 76, 67,  0, 0, 0, 0, 0, 0, 0, 0, 76, 72,  0, 0, 0, 0, 0, 0, 0, 0, 77, 65,  0, 0, 0, 0, 0, 0, 0, 0, 77, 88,  0, 0, 0, 0, 0, 0, 0, 0, 78, 68, 0, 0, 0, 0, 0, 0, 0, 0,
                               78, 69, 0, 0, 0, 0, 0, 0, 0, 0, 78, 71,  0, 0, 0, 0, 0, 0, 0, 0, 78, 75, 68, 0, 0, 0, 0, 0, 0, 0, 78, 81, 71, 0, 0, 0, 0, 0, 0, 0, 78, 81, 77, 0, 0, 0, 0, 0, 0, 0, 79,  0, 0, 0, 0, 0, 0, 0, 0, 0,
                               79, 74, 0, 0, 0, 0, 0, 0, 0, 0, 80, 65,  0, 0, 0, 0, 0, 0, 0, 0, 80, 66,  0, 0, 0, 0, 0, 0, 0, 0, 80, 76,  0, 0, 0, 0, 0, 0, 0, 0, 82, 67,  0, 0, 0, 0, 0, 0, 0, 0, 83,  0, 0, 0, 0, 0, 0, 0, 0, 0,
                               83, 70, 0, 0, 0, 0, 0, 0, 0, 0, 83, 73,  0, 0, 0, 0, 0, 0, 0, 0, 83, 77,  0, 0, 0, 0, 0, 0, 0, 0, 83, 80,  0, 0, 0, 0, 0, 0, 0, 0, 83, 85,  0, 0, 0, 0, 0, 0, 0, 0, 87,  0, 0, 0, 0, 0, 0, 0, 0, 0,
                               89, 53, 0, 0, 0, 0, 0, 0, 0, 0, 89, 71,  0, 0, 0, 0, 0, 0, 0, 0, 89, 73,  0, 0, 0, 0, 0, 0, 0, 0, 89, 77,  0, 0, 0, 0, 0, 0, 0, 0, 90, 73,  0, 0, 0, 0, 0, 0, 0, 0, 90, 79, 0, 0, 0, 0, 0, 0, 0, 0};
int ArrayName1[11][17]  =    {194, 192, 203, 222, 210, 205, 219, 213, 32, 207, 192, 208, 0, 0, 0, 0, 0, 194, 192, 203, 222, 210, 205, 219, 213, 32, 207, 192, 208, 32, 80, 82, 79, 70, 194, 192, 203, 222, 210, 205, 219, 213, 32, 207, 192, 208, 32, 77, 73, 78, 73,
                              204, 197, 210, 192, 203, 203, 206, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 68, 69, 88, 69, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 86, 73, 69, 78, 65, 0, 0, 0, 0, 0, 0, 0, 0,
                               67, 70, 68, 32, 76, 79, 78, 68, 79, 78, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 78, 69, 87, 32, 89, 79, 82, 75, 0, 0, 0, 0, 0, 67, 70, 68, 32, 84, 79, 75, 89, 79, 0, 0, 0, 0, 0, 0, 0, 0,
                               67, 70, 68, 32, 77, 79, 83, 67, 79, 87, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 70, 79, 82, 69, 88, 32, 66, 69, 83, 84, 0, 0, 0};
int ArrayName2[11][17]  =    {226, 224, 235, 254, 242, 237, 251, 245, 32, 239, 224, 240, 0, 0, 0, 0, 0, 226, 224, 235, 254, 242, 237, 251, 245, 32, 239, 224, 240, 32, 80, 114, 111, 102, 226, 224, 235, 254, 242, 237, 251, 245, 32, 239, 224, 240, 32, 77, 105, 110, 105,
                              236, 229, 242, 224, 235, 235, 238, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 110, 100, 101, 120, 101, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 86, 105, 101, 110, 97, 0, 0, 0, 0, 0, 0, 0, 0,
                               67, 70, 68, 32, 76, 111, 110, 100, 111, 110, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 78, 101, 119, 32, 89, 111, 114, 107, 0, 0, 0, 0, 0, 67, 70, 68, 32, 84, 111, 107, 121, 111, 0, 0, 0, 0, 0, 0, 0, 0,
                               67, 70, 68, 32, 77, 111, 115, 99, 111, 119, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 70, 111, 114, 101, 120, 32, 66, 101, 115, 116, 0, 0, 0};
int ArrayNameFile[11][13] =   {69, 120, 99, 104, 97, 110, 103, 101, 0, 0, 0, 0, 0, 69, 120, 99, 104, 97, 110, 103, 101, 80, 114, 111, 102, 0, 69, 120, 99, 104, 97, 110, 103, 101, 77, 105, 110, 105, 0, 77, 101, 116, 97, 108, 115, 0, 0, 0, 0, 0, 0, 0,
                               73, 110, 100, 101, 120, 101, 115, 0, 0, 0, 0, 0, 0, 67, 70, 68, 95, 86, 105, 101, 110, 97, 0, 0, 0, 0, 67, 70, 68, 95, 76, 111, 110, 100, 111, 110, 0, 0, 0, 67, 70, 68, 95, 78, 101, 119, 89, 111, 114, 107, 0, 0,
                               67, 70, 68, 95, 84, 111, 107, 121, 111, 0, 0, 0, 0, 67, 70, 68, 95, 77, 111, 115, 99, 111, 119, 0, 0, 0, 67, 70, 68, 95, 70, 111, 114, 101, 120, 66, 101, 115, 116};
int ArrayTimfram_str[9][3] =  {77, 49, 32, 77, 53, 32, 77, 49, 53, 77, 51, 48, 72, 49, 32, 72, 52, 32, 68, 49, 32, 87, 49, 32, 77, 78, 49};
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
void start()
 {
  datetime TimeShift;
  datetime Market_Info;
  datetime Mark_Inf;
  datetime iTimeBegin;
  datetime iTimeBeginTemp;
  datetime timetemp;
  int      a, b, p, h, e, ee, g, i, j, jj, ii, pp;
  int      QuestExch   = IDYES;
  int      QuestCheck  = IDYES;
  int      t;
  int      size;
  string   CurrencyA;               // Íàçâàíèå âàëþòû äëÿ ñðàâíåíèÿ.
  string   CurrencyB;               // Íàçâàíèå âàëþòû äëÿ ñðàâíåíèÿ.
  string   Name1;                   // Íàçâàíèÿ ãðóïï èíñòðóìåíòîâ äëÿ âûâîäà â "Comment()" è â ôàéë. 
  string   Name2;                   // Íàçâàíèÿ ãðóïï èíñòðóìåíòîâ äëÿ âûâîäà â "Comment()" è â ôàéë.
  string   NameFile;                // Íàçâàíèÿ ãðóïï èíñòðóìåíòîâ äëÿ íàçâàíèÿ â ôàéëà.
  string   Timfram_str;             // Íàçâàíèå ÒÔ äëÿ âûâîäà â "Comment()" è â ôàéë. 
  //----
  datetime time[];
  int      Array_Size[11];
  int      Array_Differ[11];
  int      ArrayExchange[][10];
  int      ArrayExchangeProf[][10];
  int      ArrayExchangeMini[][10];
  int      ArrayMini[4] = {109, 105, 110, 105};
  int      ArrayProf[4] = {112, 114, 111, 102};
  int      ArrayTempA[17];          // Òåõíè÷åñêèé ìàññèâ.
  int      ArrayTempB[3];           // Òåõíè÷åñêèé ìàññèâ.
  int      ArrayTools[][11][10];    // Äëÿ âñåõ èíñòðóìåíòîâ.
  string   ArrayInCorrect[];
  string   Info[11];
  // Èíèöèàëèçèðóåì ìàññèâ äëÿ êîððåêòíîãî îòîáðàæåíèÿ ïóñòûõ ñòðîê.
  for (i = 0; i < 11; i++) Info[i] = "";
  // Ñîçäà¸ì ìàññèâ ñ íàçâàíèåì âàëþòíûõ ïàð â çàâèñèìîñòè îò íàëè÷èÿ ýòèõ ïàð ó áðîêåðà.
  i = 0;
  Array_Size[0] = ArrayRange (ArrayCurrency, 0);
//  Comment (Array_Size[0]);
  for (a = 0; a < Array_Size[0]; a++) // Äëÿ âàëþòíûõ ïàð.
   {
    ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
    for (t = 0; t <= 2; t++) ArrayTempA[t] = ArrayCurrency[a][t]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ.
    CurrencyA = TransformSymbolString (ArrayTempA);
    for (b = 0; b < Array_Size[0]; b++)
     {
      for (t = 0; t <= 2; t++) ArrayTempB[t] = ArrayCurrency[b][t]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ.
      CurrencyB = TransformSymbolString (ArrayTempB);
      Market_Info = MarketInfo (CurrencyA + CurrencyB, MODE_TIME);
//      Print (CurrencyA, CurrencyB);
      if (CurrencyA != CurrencyB && Market_Info != 0)
       {
        ArrayResize (ArrayExchange, i + 1);
        ArrayResize (ArrayExchangeProf, i + 1);
        ArrayResize (ArrayExchangeMini, i + 1);        
        for (t = 0; t <= 5; t++)
         {
          if (t <= 2) ArrayExchange[i][t] = ArrayTempA[t];
          if (t > 2)  ArrayExchange[i][t] = ArrayTempB[t - 3];
         }
        for (t = 0; t <= 9; t++)
         {
          if (t <= 5) ArrayExchangeProf[i][t] = ArrayExchange[i][t];
          if (t > 5)  ArrayExchangeProf[i][t] = ArrayProf[t - 6];
          if (t <= 5) ArrayExchangeMini[i][t] = ArrayExchange[i][t];
          if (t > 5)  ArrayExchangeMini[i][t] = ArrayMini[t - 6];
         }
//        Print (ArrayExchange[i][0], ", ", ArrayExchange[i][1], ", ", ArrayExchange[i][2], ", ", ArrayExchange[i][3], ", ", ArrayExchange[i][4], ", ", ArrayExchange[i][5]);
        i++;
       }
     }
   }
  ArrayResize (ArrayCurrency, 0); // Óíè÷òîæàåì ìàññèâ.
  // Îïðåäåëÿåì ðàçìåð ìàññèâîâ.
  Array_Size[0]  = i;
  Array_Size[1]  = i;
  Array_Size[2]  = i;
  Array_Size[3]  = ArrayRange (ArrayMetals, 0);
  Array_Size[4]  = ArrayRange (ArrayIndexes, 0);
  Array_Size[5]  = ArrayRange (ArrayCFD_Viena, 0);
  Array_Size[6]  = ArrayRange (ArrayCFD_London, 0);
  Array_Size[7]  = ArrayRange (ArrayCFD_NewYork, 0);
  Array_Size[8]  = ArrayRange (ArrayCFD_Tokyo, 0);
  Array_Size[9]  = ArrayRange (ArrayCFD_Moscow, 0);
  Array_Size[10] = ArrayRange (ArrayCFD_ForexBest, 0);
  //----
//  Comment (Array_Size[0], ", ", Array_Size[1], ", ", Array_Size[2], ", ", Array_Size[3]);
  // Óñòàíàâëèâàåì ðàçìåð ìàññèâà ðàâíûì ñàìîìó áîëüøîìó ðàçìåðó ãðóïïû èíñòðóìåíòîâ.
  ArrayResize (ArrayTools, Array_Size[ArrayMaximum (Array_Size, 11, 0)]);
  // Ñîçäà¸ì òð¸õìåðíûé ìàññèâ ñ èíñòðóìåíòàìè.
  for (i = 0; i < Array_Size[0] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][0][j]  = ArrayExchange[i][j];
  for (i = 0; i < Array_Size[1] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][1][j]  = ArrayExchangeProf[i][j];
  for (i = 0; i < Array_Size[2] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][2][j]  = ArrayExchangeMini[i][j];
  for (i = 0; i < Array_Size[3] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][3][j]  = ArrayMetals[i][j];
  for (i = 0; i < Array_Size[4] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][4][j]  = ArrayIndexes[i][j];
  for (i = 0; i < Array_Size[5] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][5][j]  = ArrayCFD_Viena[i][j];
  for (i = 0; i < Array_Size[6] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][6][j]  = ArrayCFD_London[i][j];
  for (i = 0; i < Array_Size[7] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][7][j]  = ArrayCFD_NewYork[i][j];
  for (i = 0; i < Array_Size[8] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][8][j]  = ArrayCFD_Tokyo[i][j];
  for (i = 0; i < Array_Size[9] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][9][j]  = ArrayCFD_Moscow[i][j];
  for (i = 0; i < Array_Size[10]; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][10][j] = ArrayCFD_ForexBest[i][j];
  // Óìåíüøàåì ðàçìåð ìàññèâîâ, ÷òîáû íå ìåøàëè.
  ArrayResize (ArrayExchange, 0);
  ArrayResize (ArrayExchangeProf, 0);
  ArrayResize (ArrayExchangeMini, 0);
  ArrayResize (ArrayMetals, 0);
  ArrayResize (ArrayIndexes, 0);
  ArrayResize (ArrayCFD_Viena, 0);
  ArrayResize (ArrayCFD_London, 0);
  ArrayResize (ArrayCFD_NewYork, 0);
  ArrayResize (ArrayCFD_Tokyo, 0);
  ArrayResize (ArrayCFD_Moscow, 0);
  ArrayResize (ArrayCFD_ForexBest, 0);
  // Îïðåäåëÿåì êîëè÷åñòâî ÒÔ â êàæäîé ãðóïïå èíñòðóìåíòîâ.
  for (i = 0; i <= 10; i++) Array_Differ[i] = 9 * Array_Size[i];  
  // Íà÷èíàåì ïîäêà÷êó èñòîðèè.
  for (g = 0; g <= 10; g++) // Ïî ãðóïïàì.
   {
    ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
    for (i = 0; i < 17; i++) ArrayTempA[i] = ArrayName2[g][i]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì ãðóïïû èíñòðóìåíòîâ.
    Name2 = TransformSymbolString (ArrayTempA);
    // Âîïðîñ ïîëüçîâàòåëþ î çàãðóçêå èñòîðèè ãðóïïû èíñòðóìåíòîâ. Çàãðóæàòü/íå çàãðóæàòü.
    PlaySound ("ding_XP.wav");
    QuestExch = MessageBox ("Çàãðóæàåì èñòîðèþ " + Name2 + "?", "Èñòîðèÿ " + Name2, MB_YESNO|MB_ICONQUESTION);
    //----
    if (QuestExch == IDYES)
     {
      ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
      for (i = 0; i < 17; i++) ArrayTempA[i] = ArrayName1[g][i]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì ãðóïïû èíñòðóìåíòîâ.
      Name1 = TransformSymbolString (ArrayTempA);
      ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
      for (i = 0; i < 13; i++) ArrayTempA[i] = ArrayNameFile[g][i]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì ãðóïïû èíñòðóìåíòîâ äëÿ íàçâàíèÿ ôàéëà.
      NameFile = TransformSymbolString (ArrayTempA);
      e = 1; ee = 0; j = 0; jj = 0; ii = 0; pp = 0; // Èíèöèàëèçèðóåì ïåðåìåííûå.
      // Âîïðîñ ïîëüçîâàòåëþ îá êîíòðîëå íà "äûðû" â èñòîðèè. Êîíòîðîëèðîâàòü/íå êîíòðîëèðîâàòü.
      QuestCheck = MessageBox ("Ïðîâîäèòü êîíòðîëü çàãðóæåííîé èñòîðèè\n" + Name2 + " íà äåôåêòíûå èíòåðâàëû (äûðû)?", "Êîíðîëü èñòîðèè óâåëè÷èâàåò âðåìÿ ðàáîòû ñêðèïòà!", MB_YESNO|MB_ICONQUESTION);
      for (a = 0; a < Array_Size[g]; a++) // Ïî èíñòðóìåíòàì.
       {
        ii++; // Ñ÷¸ò÷èê âîçìîæíîãî êîëè÷åñòâà èíñòðóìåíòîâ.
        ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
        for (t = 0; t < 10; t++) ArrayTempA[t] = ArrayTools[a][g][t]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì èíñòðóìåíòà.
        CurrencyA = TransformSymbolString (ArrayTempA);
        Market_Info = MarketInfo (CurrencyA, MODE_TIME);
        if (Market_Info != 0)
         {
          j++; // Ñ÷¸ò÷èê ðåàëüíîãî êîëè÷åñòâà èíñòðóìåíòîâ.
          for (p = 0; p <= 8; p++) // Ïî ÒÔ.
           {
            pp++; // Ñ÷¸ò÷èê îáùåãî êîëè÷åñòâà ÒÔ.
            Mark_Inf = Market_Info - 60 * ArrayTimFram_time[p];
            iTimeBegin = iTime (CurrencyA, ArrayTimFram_time[p], 0);
            ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
            for (i = 0; i < 3; i++) ArrayTempA[i] = ArrayTimfram_str[p][i];
            Timfram_str = TransformSymbolString (ArrayTempA);
            if (Mark_Inf > iTimeBegin) // Åñëè ïîñëåäíèé áàð íå ïðèø¸ë.
             {
              TimeShift = 600;
              while (Mark_Inf > iTimeBegin)
               {
                jj++; // Ñ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà.
                Sleep (100); // Çàäåðæêà íà 0,1 ñåêóíäû.
                if (QuestCheck == IDYES && Mark_Inf < iTimeBegin) // Åñëè êîíòðîëèðóåì íà "äûðû" â èñòîðèè.
                 {
                  size = ArrayCopySeries (time, MODE_TIME, CurrencyA, ArrayTimFram_time[p]);
                  iTimeBegin = iTime (CurrencyA, ArrayTimFram_time[p], 0);
                  if (GetLastError() == 0 && time[0] == iTimeBegin) break;
                  else continue;
                 }
                else // Åñëè íå êîíòðîëèðóåì íà "äûðû" â èñòîðèè.
                 {
                  iTimeBegin = iTime (CurrencyA, ArrayTimFram_time[p], 0);
                  size = iBars (CurrencyA, ArrayTimFram_time[p]);
                 }
                if (IsStopped() == true) break;
                if (iTimeBegin > iTimeBeginTemp) TimeShift = jj + 600; // Åñëè òåêóùåå çíà÷åíèå âðåìåíè îòêðûòèÿ ïîñëåäíåãî áàðà áîëüøå, ÷åì ïðåäûäóùåå çíà÷åíèå, òî ïðîäëåâàåì âðåìÿ îæèäàíèÿ.
                if (jj > TimeShift) break; // Åñëè êîòèðîâêà ïîñëåäíåãî áàðà íå ïðèøëà â òå÷åíèè 1-é ìèíóòû, âûõîäèì èç öèêëà.
                iTimeBeginTemp = iTimeBegin;
               }
             }
            else // Åñëè ïîñëåäíèé áàð åñòü.
             {
              if (QuestCheck == IDYES && Mark_Inf < iTimeBegin) size = ArrayCopySeries (time, MODE_TIME, CurrencyA, ArrayTimFram_time[p]); // Åñëè êîíòðîëèðóåì íà "äûðû" â èñòîðèè.
              else size = iBars (CurrencyA, ArrayTimFram_time[p]); // Åñëè íå êîíòðîëèðóåì íà "äûðû" â èñòîðèè.
             }
            if (QuestCheck == IDYES) // Åñëè ïîëüçîâàòåëü îòâåòèë "YES" ïðîèçâîäèì êîíòðîëü èñòîðèè íà "äûðû".
             {
              ArrayResize (ArrayInCorrect, e + 3);
              for (h = 0; h < size - 1; h++)
               {
                timetemp = (time[h] - time[h + 1]) / 60;
                if ((ArrayTimFram_time[p] != ArrayTimFram_time[7] && ArrayTimFram_time[p] != ArrayTimFram_time[8] && timetemp != ArrayTimFram_time[p] && TimeDayOfWeek (time[h]) != 1 && TimeDayOfWeek (time[h + 1]) != 5) ||
                    (ArrayTimFram_time[p] == ArrayTimFram_time[7] && timetemp != ArrayTimFram_time[7]) ||
                    (ArrayTimFram_time[p] == ArrayTimFram_time[8] && 
                    (((TimeMonth (time[h + 1]) == 1 || TimeMonth (time[h + 1]) == 3 || TimeMonth (time[h + 1]) == 5 || TimeMonth (time[h + 1]) == 7 || TimeMonth (time[h + 1]) == 8 || TimeMonth (time[h + 1]) == 10 || TimeMonth (time[h + 1]) == 12) && timetemp != ArrayTimFram_time[11]) ||
                     ((TimeMonth (time[h + 1]) == 4 || TimeMonth (time[h + 1]) == 6 || TimeMonth (time[h + 1]) == 9 || TimeMonth (time[h + 1]) == 11) && timetemp != ArrayTimFram_time[8]) ||
                     ((MathMod (TimeYear (time[h + 1]), 4) == 0 && TimeMonth (time[h + 1]) == 2 && timetemp != ArrayTimFram_time[10]) || (MathMod (TimeYear (time[h + 1]), 4) != 0 && TimeMonth (time[h + 1]) == 2 && timetemp != ArrayTimFram_time[9])))))
                 {
                  if (j != ee)
                   {
                    ArrayInCorrect[0] = "Äàòà íà÷àëà êîíòðîëÿ " + TimeToStr(TimeLocal(), TIME_DATE|TIME_SECONDS);
                    if (j < 10)  ArrayInCorrect[e] = " " + j + ".====================" + CurrencyA + "=====================";
                    if (j >= 10) ArrayInCorrect[e] = j + ".====================" + CurrencyA + "=====================";
                    ee = j;
                    e++;
                   }
                  ArrayInCorrect[e] = CurrencyA + "_" + Timfram_str + " <" + TimeToStr (time[h + 1], TIME_DATE|TIME_MINUTES) + ">=<" + TimeToStr (time[h], TIME_DATE|TIME_MINUTES) + ">";
                  e++;
                 }
                Comment("ÇÀÃÐÓÇÊÀ ", Name1,
                        "\nÇàãðóæåíî: ", 100 * (9 * ii - 8 + p) / Array_Differ[g], " %",
                        "\nÈíñòðóìåíò: ", "¹ ", j, ". ", CurrencyA,
                        "\nÒàéìôðåéì: ", Timfram_str,
                        "\nÁàðîâ â ÒÔ: ", size,
                        "\nÊîíòðîëü èñòîðèè = ", h,
                        "\nÄåôåêòíûõ èíòåðâàëîâ = ", e);
               }
             }
            else
             {
              Comment("ÇÀÃÐÓÇÊÀ ", Name1,
                      "\nÇàãðóæåíî: ", 100 * (9 * ii - 8 + p) / Array_Differ[g], " %",
                      "\nÈíñòðóìåíò: ", "¹ ", j, ". ", CurrencyA,
                      "\nÒàéìôðåéì: ", Timfram_str,
                      "\nÁàðîâ â ÒÔ: ", size);
             }
            if (IsStopped() == true && QuestCheck == IDYES) // Åñëè îñòàíîâêà, ñîçäà¸ì ñðî÷íî ôàéë *.dat .
             {
              ArrayInCorrect[e] = "================================================";
              ArrayInCorrect[e + 1] = "Äàòà çàâåðøåíèÿ êîíòðîëÿ " + TimeToStr(TimeLocal(), TIME_DATE|TIME_SECONDS);
              ArrayInCorrect[e + 2] = "Ïðîèçâåäåíî ïðèíóäèòåëüíîå çàâåðøåíèÿ êîíòðîëÿ.";
              FileCreate_ArrayString ("ZZ_All_Quotings_" + NameFile + "_InCorrect.dat", ArrayInCorrect, 0, e + 3);
              return;
             }
            if (IsStopped() == true) break;             
           }
         }
        if (IsStopped() == true) break;
       }
      if (QuestCheck == IDYES)
       {
        ArrayInCorrect[e + 1] = "===================================================\nÄàòà çàâåðøåíèÿ êîíòðîëÿ " + TimeToStr(TimeLocal(), TIME_DATE|TIME_SECONDS);
        FileCreate_ArrayString ("ZZ_All_Quotings_" + NameFile + "_InCorrect.txt", ArrayInCorrect, 0, e);
       }
      if (j != 0 && QuestCheck == IDYES) Info[g] = StringConcatenate ("\nÑ÷¸ò÷èê öèêëîâ ïîäáîðà ", Name2, " = ", ii,
                                                                      "\nÊîëè÷åñòâî ", Name2, " â ÎÁÇÎÐÅ ÐÛÍÊÀ  = ", j,
                                                                      "\nÑ÷¸ò÷èê öèêëîâ ÒÔ ", Name2, " = ", pp,
                                                                      "\nÑ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà ", Name2, " = ", jj,
                                                                      "\nÄåôåêòíûõ èíòåðâàëîâ ", Name2, " = ", e - j - 1,
                                                                      "\nÔàéë ñ äåôåêòíûìè èíòåðâàëàìè: ...MetaTrader 4.00\experts\files\ZZ_All_Quotings_", NameFile, "_InCorrect.txt\n");
      else Info[g] = "";
      //----
      if (j != 0 && QuestCheck == IDNO)  Info[g] = StringConcatenate ("\nÑ÷¸ò÷èê öèêëîâ ïîäáîðà ", Name2, " = ", ii,
                                                                      "\nÊîëè÷åñòâî ", Name2, " â ÎÁÇÎÐÅ ÐÛÍÊÀ  = ", j,
                                                                      "\nÑ÷¸ò÷èê öèêëîâ ÒÔ ", Name2, " = ", pp,
                                                                      "\nÑ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà ", Name2, " = ", jj, "\n");
      else Info[g] = "";
     }
    if (IsStopped() == true) break;
   }
  // Óíè÷òîæàåì ìàññèâû.
  ArrayResize (ArrayMetals, 0);
  ArrayResize (ArrayIndexes, 0);
  ArrayResize (ArrayCFD_Viena, 0);
  ArrayResize (ArrayCFD_London, 0);
  ArrayResize (ArrayCFD_NewYork, 0);
  ArrayResize (ArrayCFD_Tokyo, 0);
  ArrayResize (ArrayCFD_Moscow, 0);
  ArrayResize (ArrayCFD_ForexBest, 0);
  ArrayResize (ArrayName1, 0);
  ArrayResize (ArrayName2, 0);
  ArrayResize (ArrayNameFile, 0);
  ArrayResize (ArrayTimfram_str, 0);
  ArrayResize (ArrayInCorrect, 0);
  //----
  Comment (Info[0], Info[1], Info[2], Info[3], Info[4], Info[5], Info[6], Info[7], Info[8], Info[9], Info[10]);
  MessageBox (Info[0] + Info[1] + Info[2] + Info[3] + Info[4] + Info[5] + Info[6] + Info[7] + Info[8] + Info[9] + Info[10], "ÈÍÔÎÐÌÀÖÈß Î ÇÀÃÐÓÇÊÅ");
 }
//====Ôóíêöèÿ "Ñîçäàòü ôàéë ìàññèâà ñî ñòðîêîâûìè äàííûìè".========================================================================================================================
// (íàçâàíèå ôàéëà; ìàññèâ äëÿ çàïèñè; íà÷àëüíûé èíäåêñ â ìàññèâå; êîëè÷åñòâî ýëåìåíòîâ äëÿ ÷òåíèÿ; ñìåùåíèå â áàéòàõ; íà÷àëüíîå ïîëîæåíèå ôàéëîâîãî óêàçàòåëÿ)
int FileCreate_ArrayString (string Name, string Array[], int start, int count)
 {
  int  Bool;
  int  handle;
  //----
  handle = FileOpen (Name, FILE_BIN|FILE_WRITE);
  //----
  if (handle == -1)
   {
    Print ("Ôàéë ", Name, " íå ñîçäàí, ïîñëåäíÿÿ îøèáêà : ", GetLastError());
    FileClose (handle);
    return (-1);
   }
  else
   {
    Bool = FileWriteArray (handle, Array, start, count);
    if (Bool == -1) Print ("Çíà÷åíèå â ôàéë ", Name, " íå çàïèñàíî, ïîñëåäíÿÿ îøèáêà : ", GetLastError());
    FileClose (handle);
   }
  return (Bool);
 }
//====Ôóíêöèÿ ïðåîáðàçîâàíèÿ ñèìâîëîâ â ñòðîêó.====================================================================================================================================
string TransformSymbolString (int Array[]) // TransformSymbolLine (ìàññèâ ñ ñèìâîëàìè);
 {
  string str = "";
  int Size = ArraySize (Array);
  for (int i = 0; i < Size; i++) str = str + StringSetChar ("", 0, Array[i]);
  return (StringTrimRight (str));
 }
//=================================================================================================================================================================================
   



Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: