☞ Winner H4는 러시아에서 개발된 Winner H4를 Customize하여 Fractals신호로 매매하는 Expert Advisor 로서 Trailing & BreakEven 등을 추가하였다. 시장이 크게 움직일 때, 유용한 EA로, Fractal이론 자체가 일정기간들의 차트의 움직임이 반복된다는 가정에 있으므로, 120개바의 고가-저가의 변화율의 결과들의 분포함을 배열로 저장하였다.(based on neuro-network (artificial intelligence))

 

//********************************************************************
//|                                       Winner H4 V0.2                    |
//|                                    Copyright @                           |
//********************************************************************
//********************************************************************
//| Fractals신호로 매매하는 Expert Advisor                           |
//| 사용통화 : AUDUSD,EURUSD,GBPUSD,USDCAD,USDCHF     |
//| Time Frame : H4                                                       |
//********************************************************************
//********************************************************************
//| Version History                                                  |
//********************************************************************
/*

 Version 0.1
 - FixLot 및 MoneyManagement 추가
 - 화면표시정보 추가
 
 Version 0.2
 - Trailing Stop & BreakEven 기능 추가   

*/
//********************************************************************
//| 일반외생변수 및 기타 내생변수 설정                               |
//********************************************************************

extern int Optimization = 300;

extern bool AutoMagic = TRUE;                    // 통화별 자동 매직넘버 부여
extern int Magic = 102398541;                    // AutoMagic=FALSE시 매직넘버 수동부여
extern int Slippage = 3;
extern bool ECN = TRUE;
extern int  FilterDepth  = 120;

// Money Management 사용시 MoneyManagement = TRUE && FixLot = 0.0, RiskPercent>0 으로 사용가능
extern bool MoneyManagement = FALSE;
extern int RiskPercent = 10;
extern double FixLot = 0.1;
extern string OrderCmnt = "Y.S.Park Winner H4 V0.2";

extern double StopOutBalance = 500;               // 강제청산 기준 잔고

extern double  TrailingStop = 13.0;  // 트레일링 설정시 > 0
extern double  BreakEven = 10.0;     // Break Even 설정시 > 0
extern double  BreakPoint = 2.0;     // Break Even 설정시 손절치(본전 + 손절치)

int PreviousTime = 0;
string mysymbol;
double FractalStop;
double MinimumStop = 3.0;
double mypoint;
double maxLot,LotSizes;                                    // MarketInfo 정보를 받는 변수(Double)  
double minlot,LotStep,stopout,reqmargin,equity;            // MarketInfo 정보를 받는 변수(Double)  
int spread, mydigit,stoplevel,freeze, leverage;            // MarketInfo 정보를 받는 변수(Integer)  
string servername,StartDay,mytime;                         // MarketInfo 정보를 받는 변수(String) 


//********************************************************************
//| Initialization                                                                |
//********************************************************************

void init() {
   mysymbol = Symbol();
   mypoint = MarketInfo(Symbol(),MODE_POINT);
   StartDay = TimeToStr(TimeCurrent(),TIME_DATE);  

   if (Digits == 5 || Digits == 3) {
      mypoint = 10.0 * mypoint;
      Slippage = 10 * Slippage;
   }
}

//********************************************************************
//| EA Start                                                                     |
//********************************************************************

void start() {

//***********************************************
// 내생변수 가져오기

   double TargetArray[256];
   double FractalSig;
   double MarketStop;
   bool In_Trade;
   double ManageLot;
   double FractalRange;
   double Tickets;

//***********************************************
// 통화별 매직넘버 가져오기
   
   getmagic();
   
//***********************************************
// Trailing Stop & BreakEven 가져오기
   
   if(TrailingStop>0) MoveTrailingStop();
   if(BreakEven>0) MoveBreakEven();   
   
//***********************************************
// StopOut Balance도달시 강제청산함수 가져오기

    StopOutClose();
    
//***********************************************
// MarketInfo 정보를 받는 변수 설정

    mydigit    = MarketInfo(Symbol(), MODE_DIGITS);
    spread     = MarketInfo(Symbol(),MODE_SPREAD);
    stoplevel  = MarketInfo(Symbol(), MODE_STOPLEVEL);
    freeze     = MarketInfo(Symbol(), MODE_FREEZELEVEL);
    maxLot     = MarketInfo(Symbol(), MODE_MAXLOT);
    minlot     = MarketInfo(Symbol(), MODE_MINLOT);
    LotStep    = MarketInfo(Symbol(), MODE_LOTSTEP);   
    LotSizes   = MarketInfo(mysymbol, MODE_LOTSIZE); 
   
//********************************************************************
// ***** 조건충족시 Order Close / Order Modify  ****   
   
   if (PreviousTime != Time[0]) {
      if (ArrayCopy(TargetArray, Close, 1, 1, FilterDepth) == FilterDepth) {  // 120개 종가를 Array Copy 

/*
 signals: + => if previous fractal low, looking to Buy on appearance of next fractal low 
          - => if previous fractal high, looking to Sell on appearance of next fractal high
*/          
         FractalSig = WinnerH4Fractals(TargetArray);  
    
         MarketStop = MathMax(stoplevel * Point, MinimumStop * mypoint);
         In_Trade = FALSE;
         for (int Ord_Total = OrdersTotal() - 1; Ord_Total >= 0; Ord_Total--) {
            if (OrderSelect(Ord_Total, SELECT_BY_POS, MODE_TRADES)) {
               if (OrderSymbol() != mysymbol || OrderMagicNumber() != Magic) continue;
               RefreshRates();
               if (OrderType() == OP_BUY) {
                  if (OrderProfit() > 0.0 && FractalSig < 0.0) {
                     if (!(OrderClose(OrderTicket(), OrderLots(), Normalize(Bid), Slippage, Blue))) return;
                     continue;
                  }
                  if (OrderStopLoss() == 0.0)
                     if (!(OrderModify(OrderTicket(), OrderOpenPrice(), Normalize(MathMin(FractalStop, Bid - MarketStop)), 0, 0, Blue))) return;
               }
               if (OrderType() == OP_SELL) {
                  if (OrderProfit() > 0.0 && FractalSig > 0.0) {
                     if (!(OrderClose(OrderTicket(), OrderLots(), Normalize(Ask), Slippage, Red))) return;
                     continue;
                  }
                  if (OrderStopLoss() == 0.0)
                     if (!(OrderModify(OrderTicket(), OrderOpenPrice(), Normalize(MathMax(FractalStop, Ask + MarketStop)), 0, 0, Red))) return;
               }
               In_Trade = TRUE;
            }
         }

         
//********************************************************************
// ***** 조건충족시 Order Send  ****            
         
         PreviousTime = Time[0];
         if (In_Trade == FALSE) {
            if(FixLot==0 && MoneyManagement){
            ManageLot = MathMax(MarketInfo(mysymbol, MODE_MINLOT), AccountFreeMargin() * RiskPercent / LotSizes);
            ManageLot = NormalizeDouble(MathMin(ManageLot, maxLot), MathLog(LotStep) / MathLog(0.1));
            }
            else
            {
            ManageLot = FixLot;
            }
            RefreshRates();
            FractalRange = iFractals(mysymbol, 0, MODE_LOWER, 3);   // 3 bars ago = confirmed
            
            if (FractalRange != 0.0 && FractalSig > 0.0) {
               FractalStop = FractalRange;
               if (ECN) {
                  Tickets = OrderSend(mysymbol, OP_BUY, ManageLot, Normalize(Ask), Slippage, 0, 0, OrderCmnt, Magic, 0, Blue);
                  if (OrderSelect(Tickets, SELECT_BY_TICKET))
                     if (!OrderModify(OrderTicket(), OrderOpenPrice(), Normalize(MathMin(FractalStop, Bid - MarketStop)), 0, 0, Blue)) PreviousTime = FALSE;
               } else Tickets = OrderSend(mysymbol, OP_BUY, ManageLot, Normalize(Ask), Slippage, Normalize(MathMin(FractalStop, Bid - MarketStop)), 0, OrderCmnt, Magic, 0, Blue);
               if (Tickets == -1.0) PreviousTime = FALSE;
            }
            
            FractalRange = iFractals(mysymbol, 0, MODE_UPPER, 3);   // 3 bars ago = confirmed
            
            if (FractalRange != 0.0 && FractalSig < 0.0) {
               FractalStop = FractalRange + Ask - Bid;
               if (ECN) {
                  Tickets = OrderSend(mysymbol, OP_SELL, ManageLot, Normalize(Bid), Slippage, 0, 0, OrderCmnt, Magic, 0, Red);
                  if (OrderSelect(Tickets, SELECT_BY_TICKET))
                     if (!OrderModify(OrderTicket(), OrderOpenPrice(), Normalize(MathMax(FractalStop, Ask + MarketStop)), 0, 0, Red)) PreviousTime = FALSE;
               } else Tickets = OrderSend(mysymbol, OP_SELL, ManageLot, Normalize(Bid), Slippage, Normalize(MathMax(FractalStop, Ask + MarketStop)), 0, OrderCmnt, Magic, 0, Red);
               if (Tickets == -1.0) PreviousTime = FALSE;
            }
         }
      }
   }

//********************************************************************
//| 화면표시정보                                                     |
//********************************************************************
// 화면표시 변수 설정
  string ScreenStr;
   
  ScreenStr = StringConcatenate("Server : ",AccountServer()," Start Date_",StartDay," , My Time_",TimeToStr(TimeCurrent(),TIME_SECONDS)," 평가잔액 = ",AccountEquity()," Leverage: ",AccountLeverage(),":1, 1Lot당 증거금_$",MarketInfo(Symbol(), MODE_MARGINREQUIRED))+"\n";
  ScreenStr = ScreenStr + StringConcatenate("StopLevel : ",stoplevel," , Freeze Level : ",freeze," , StopOut : ",AccountStopoutLevel(),"%, Spread_",spread," Fractal Signal(+Buy,-Sell) : ",NormalizeDouble(FractalSig,2))+"\n";
  ScreenStr = ScreenStr + StringConcatenate("New Profits : ",Profit(Magic),", New Orders : ",TotalBuyOrders(Magic)+TotalSellOrders(Magic),"건 = Buy ",TotalBuyOrders(Magic),"건 / Sell",TotalSellOrders(Magic),"건") + "\n";
  ScreenStr = ScreenStr +"==========================================================================================="  + "\n";
  ScreenStr = ScreenStr + StringConcatenate("Total Profits : $",HBProfit(Magic)+HSProfit(Magic),", Buy : $",HBProfit(Magic),", Sell : $",HSProfit(Magic),", Total Orders : ",HBuyOrders(Magic)+HSellOrders(Magic),"건 = Total Buy ",HBuyOrders(Magic),"건 / Total Sell",HSellOrders(Magic),"건")+ "\n";
  Comment(ScreenStr);  
   
}

//********************************************************************
//| 통화별 매직넘버 설정 함수                                        |
//********************************************************************

int getmagic() { 

if( AutoMagic == TRUE ) {

      if(Symbol() == "GBPUSDm" || Symbol() == "GBPUSD") Magic = 10390595;
      if(Symbol() == "AUDUSDm" || Symbol() == "AUDUSD") Magic = 20390595;
      if(Symbol() == "EURUSDm" || Symbol() == "EURUSD") Magic = 30390595;
      if(Symbol() == "USDCADm" || Symbol() == "USDCAD") Magic = 40390595;
      if(Symbol() == "USDCHFm" || Symbol() == "USDCHF") Magic = 50390595;
      if(Symbol() == "EURGBPm" || Symbol() == "EURGBP") Magic = 60390595;
      if(Symbol() == "USDJPYm" || Symbol() == "USDJPY") Magic = 70390595;

   }

   return(Magic);

}


//********************************************************************
//| NormalizeDouble Customize 함수                                   |
//********************************************************************

double Normalize(double ad_0) {
   return (NormalizeDouble(ad_0, Digits));
}


//********************************************************************
//| Stop Out조건발생시 전체 일괄 청산 함수                           |
//********************************************************************

void StopOutClose() {  // 0
 
  bool CloseAllOrders = false;

  if(AccountFreeMargin() < StopOutBalance || AccountBalance() < StopOutBalance) CloseAllOrders = true;
    else CloseAllOrders = false;
  
    if(CloseAllOrders) {  // 15

      int totalord = OrdersTotal();

      for(int jk=totalord-1;jk >= 0;jk--)  {  // 16

         OrderSelect(jk, SELECT_BY_POS, MODE_TRADES);
         int types = OrderType();
         bool resultall = false;
         RefreshRates();

     switch(types) {   //switch

             case OP_BUY : resultall = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Red);
             break;

             case OP_SELL : resultall = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5, Blue);
             }    //switch

     if(resultall == false) {  // 17
     Print("Order ", OrderTicket(), " failed to close. Error:", GetLastError() );
                         }  // 17

       }  // 16
   }   // 15
}  // 0


//+------------------------------------------------------------------+
//| Profit Calculate Function(수익 계산 함수)                        |
//+------------------------------------------------------------------+

 double Profit(int Magics)   {  // 0
 double Prof=0;
 for (int k=0; k < OrdersTotal(); k++)
  {  // 1
  if (OrderSelect(k, SELECT_BY_POS, MODE_TRADES))
    {  // 2
   if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magics)
       {  // 3
       Prof = Prof + OrderProfit();
       }  // 3
    }   // 2
  }   // 1
  return(Prof);
}  // 0

//+------------------------------------------------------------------+
//| Total Buy order Calculate Function(총매수오더수 계산 함수)       |
//+------------------------------------------------------------------+

int TotalBuyOrders(int Magics)  {  // 0
 int cnt=0;
 for (int i=0; i < OrdersTotal(); i++)
  {  // 1
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {  // 2
    if (OrderMagicNumber()==Magics && OrderType()==OP_BUY )
      {  // 3
      cnt++;
      }  // 3
    }  // 2
  }   // 1
  return(cnt);
}  // 0


//+------------------------------------------------------------------+
//| Total Sell order Calculate Function(총매도오더수 계산 함수)      |
//+------------------------------------------------------------------+

int TotalSellOrders(int Magics)  {  // 0
 int cnt=0;
 for (int i=0; i < OrdersTotal(); i++)
  {  // 1
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {  // 2
    if (OrderMagicNumber()==Magics && OrderType()==OP_SELL)
      {  // 3
      cnt++;
      }  // 3
    }  // 2
  }   // 1
  return(cnt);
}  // 0

//+------------------------------------------------------------------+
//| 총매수수익 계산 함수(과거치 포함)                                |
//+------------------------------------------------------------------+

 double HBProfit(int Magics)   {  // 0
 double Prof=0;
 for (int k=0; k < OrdersHistoryTotal(); k++)
  {  // 1
  if (OrderSelect(k, SELECT_BY_POS, MODE_HISTORY))
    {  // 2
   if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magics && OrderType()==OP_BUY)
       {  // 3
       Prof = Prof + OrderProfit();
       }  // 3
    }   // 2
  }   // 1
  return(Prof);
}  // 0

//+------------------------------------------------------------------+
//| 총매도수익 계산 함수(과거치 포함)                                |
//+------------------------------------------------------------------+

 double HSProfit(int Magics)  {  // 0
 double Prof=0;
 for (int k=0; k < OrdersHistoryTotal(); k++)
  {  // 1
  if (OrderSelect(k, SELECT_BY_POS, MODE_HISTORY))
    {  // 2
   if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magics && OrderType()==OP_SELL)
       {  // 3
       Prof = Prof + OrderProfit();
       }  // 3
    }   // 2
  }   // 1
  return(Prof);
}  // 0

//+------------------------------------------------------------------+
//| 총Buy오더수 계산 함수(과거치 포함)                               |
//+------------------------------------------------------------------+

int HBuyOrders(int Magics) {  // 0
 int cnt=0;
 for (int i=0; i < OrdersHistoryTotal(); i++)
  {  // 1
   if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
    {  // 2
    if (OrderMagicNumber()==Magics && OrderType()==OP_BUY)
      {  // 3
      cnt++;
      }  // 3
    }  // 2
  }   // 1
  return(cnt);
}  // 0

//+------------------------------------------------------------------+
//| 총Sell오더수 계산 함수(과거치 포함)                              |
//+------------------------------------------------------------------+

int HSellOrders(int Magics)  {  // 0
 int cnt=0;
 for (int i=0; i < OrdersHistoryTotal(); i++)
  {  // 1
   if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
    {  // 2
    if (OrderMagicNumber()==Magics && OrderType()==OP_SELL)
      {  // 3
      cnt++;
      }  // 3
    }  // 2
  }   // 1
  return(cnt);
}  // 0

//+------------------------------------------------------------------+
//| Trailing Stop                                                    |
//+------------------------------------------------------------------+

void MoveTrailingStop()
{
   int ct,totl=OrdersTotal();
   RefreshRates();
if (OrdersTotal() > 0) {
   for(ct=0;ct<totl;ct++)
   {
      OrderSelect(ct,SELECT_BY_POS,MODE_TRADES);


      if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
         {
            if( TrailingStop>0 && Bid>NormalizeDouble(OrderOpenPrice()+TrailingStop*mypoint*Point,Digits) )  
            {                 
               if((NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(Bid-mypoint*TrailingStop*Point,Digits))||(OrderStopLoss()==0))
               {
                  OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-mypoint*TrailingStop*Point,Digits),OrderTakeProfit(),0,Blue);
                  return(0);
               }
            }
         }
      if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
         {
            if( TrailingStop>0 && Ask<NormalizeDouble(OrderOpenPrice()-TrailingStop*mypoint*Point,Digits) )  
            {                 
               if((NormalizeDouble(OrderStopLoss(),Digits)>(NormalizeDouble(Ask+(mypoint*TrailingStop*Point),Digits)))||(OrderStopLoss()==0))
               {
                  OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+(mypoint*TrailingStop*Point),Digits),OrderTakeProfit(),0,Red);
                  return(0);

            }
         }
      }
   }
}

}


//+------------------------------------------------------------------+
//| Break Even Strategy                                              |
//+------------------------------------------------------------------+

void MoveBreakEven()
{
   int cnt,total=OrdersTotal();
   RefreshRates();
if (OrdersTotal() > 0) {
   for(cnt=0;cnt<total;cnt++)
   {
      OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

      if( OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic )
      {
         if(OrderType()==OP_BUY)
         {
            if(BreakEven>0)
            {
               if(NormalizeDouble((Bid-OrderOpenPrice()),Digits) > BreakEven*mypoint*Point)
               {
                  if(NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),Digits) < 0)
                  {
                     OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+BreakPoint*mypoint*Point,Digits),OrderTakeProfit(),0,Blue);
                     return(0);
                  }
               }
            }
         }
         else
         {
            if(BreakEven>0)
            {
               if(NormalizeDouble((OrderOpenPrice()-Ask),Digits) > BreakEven*mypoint*Point)
               {
                  if(NormalizeDouble((OrderOpenPrice()-OrderStopLoss()),Digits) < 0)
                  {
                     OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-BreakPoint*mypoint*Point,Digits),OrderTakeProfit(),0,Red);
                     return(0);
                  }
               }
            }
         }
      }
   }
}

}


//********************************************************************
//| Fractal Range 계산 함수                                          |
//********************************************************************

double WinnerH4Fractals(double &inp[])
 {
  int all = 0, mas[] = 
  
{ -1066,-103,-215,-137,-97,-41,-105,-57,-71,29,35,14,41,77,107,-39,127,-6,-17,86,81,-28,21,6,43,-18,35,23,-20,-13,56,34,-3,94,13,36,-44,-44,-4,-6,-24,28,112,24,33,-15,35,8,1,85,-35,
45,-47,-11,26,103,-12,25,-20,45,102,-30,-94,-11,37,-39,13,-89,27,-4,3,13,62,-28,100,-32,-40,-2,-87,-1,-28,-67,-14,-74,13,-129,-42,-95,-74,-89,-8,53,-50,-36,25,101,35,68,188,270,989,
-398,-142,-127,-149,-87,-8,-19,37,-54,-34,4,45,-4,24,8,62,56,136,23,19,11,-1,64,-73,7,61,36,-29,-9,26,-17,74,-49,-26,27,-29,27,25,-4,-11,1,0,-7,-8,14,90,-11,71,22,4,16,
-79,-28,58,70,2,17,-78,89,-5,71,-4,100,-1,-104,33,8,30,-42,39,-22,81,-8,51,-9,-55,-76,20,-19,-40,12,29,-58,-98,42,-30,-135,0,-106,-12,104,7,-62,-18,-57,36,70,123,109,56,361,
479,188,21,32,51,-15,180,21,69,73,10,-115,68,44,-11,-57,-3,-85,-15,-30,15,6,-14,-97,12,44,-3,-9,-40,11,-37,27,8,-16,8,65,-38,-51,-23,47,45,-37,-26,-46,-34,-29,139,30,12,-98,-13,
47,90,15,29,-23,67,-51,26,-14,-17,-22,38,-19,-14,30,122,-53,50,-20,80,4,-22,-29,66,5,38,-37,-15,48,103,9,80,70,47,13,7,-12,96,-15,-76,8,-30,-104,-79,-131,4,-68,-171,-109,-658,
560,134,164,125,165,9,-10,109,17,63,64,-106,-9,146,-25,43,-52,-60,-61,15,-86,61,-110,20,19,-23,-92,-11,-45,-30,33,-23,31,-57,-9,-58,130,73,-37,-19,-51,-24,-9,-33,-49,-24,-11,-23,35,73,58,
41,17,7,-71,12,1,26,37,24,22,84,38,-58,44,-27,0,16,-49,47,86,30,127,10,-14,28,7,-34,7,-3,27,13,70,15,22,121,58,79,47,96,-75,-96,-139,-195,-63,-84,-24,-213,-88,-85,-775,
101,85,68,22,195,-3,103,95,-31,26,-16,48,-64,58,73,58,5,1,-10,-21,-22,11,-29,-31,-55,-60,-47,-40,-75,-9,-59,-21,-27,32,-28,5,-19,112,38,-24,-1,-37,-5,-55,-5,39,50,20,88,-53,20,
-6,24,18,-102,74,-8,-58,31,-31,27,31,-9,33,52,65,-28,55,-3,-2,25,48,8,65,-43,-14,-38,85,-10,42,35,32,84,-19,43,-32,-51,42,132,-11,49,-109,-98,-95,-74,-89,-153,-145,-104,-129,21,
24,14,49,47,122,74,45,26,74,-12,-81,-54,101,116,3,-31,27,-42,-29,8,2,-86,-36,49,-49,-47,-13,-57,14,-51,-131,-30,66,15,29,85,14,-67,107,-48,39,25,-22,-51,19,-32,14,-6,-1,108,-10,
1,-24,40,-9,-98,-40,25,26,3,-9,81,40,-11,-25,1,35,2,1,76,34,113,53,-29,-53,3,-6,23,145,-29,4,26,70,21,-63,-10,46,101,-59,-46,82,2,-92,-92,-39,-197,-55,-95,-84,-59,6,
45,67,5,-43,82,113,-75,158,51,58,49,-27,-24,43,-119,-22,4,-28,21,-72,102,-2,15,-60,-63,-154,-75,71,-29,-74,68,14,-30,22,-67,53,-7,62,-51,47,18,36,12,-7,-32,-73,24,69,20,2,31,
-14,-26,22,10,-37,32,23,-24,35,42,1,-53,32,52,38,19,-18,10,60,59,116,22,-22,43,-37,-64,33,-34,65,2,31,63,13,-10,-44,-65,145,-53,16,-26,-62,-72,-58,-32,-124,-92,32,-23,-27,-61,
23,13,19,-45,36,34,54,97,23,98,14,58,15,-80,-30,-54,19,114,-4,-55,-30,-31,-52,-68,-60,-63,-44,-49,-60,-16,-26,-24,-14,158,60,-1,32,-11,56,-37,4,-13,23,8,-84,-70,38,4,83,28,-5,
-7,-30,4,60,59,-42,29,0,11,11,20,-19,179,-30,4,86,-28,53,11,-30,86,-8,79,35,-32,51,59,34,-15,-73,-78,-45,32,-2,-26,104,-90,-35,60,-60,-20,-121,-136,-48,56,46,17,-22,-6,-102,
-165,35,-36,45,7,73,60,-34,-23,53,-34,64,-12,-30,63,21,63,43,-40,-14,-51,-53,17,25,-16,-55,-60,10,9,-55,30,-66,-60,96,-16,100,58,-111,59,19,-88,-24,2,58,53,-1,-18,18,30,-22,-1,
12,-13,24,99,-2,42,-65,-17,0,57,-71,66,16,24,24,48,31,25,37,87,30,-155,2,39,1,17,-45,-26,-51,70,17,-14,18,34,71,-92,128,-87,-22,-51,-65,1,58,13,-130,11,-57,-50,-23,74,
-36,21,-16,-2,32,-22,-9,42,-47,59,0,53,-43,-1,-65,24,3,-4,78,-4,-58,73,-47,42,-102,20,-16,9,-4,-45,-106,12,54,-46,-52,47,-40,3,63,15,45,60,-14,62,-42,-124,68,-29,-36,-87,-29,
44,-18,-60,32,-30,27,169,46,106,20,-9,-73,97,-9,80,42,-10,13,-68,90,-45,35,16,71,-1,-32,-72,29,-83,94,-65,118,-37,16,-43,-82,31,46,5,54,-64,83,-68,-49,29,-26,62,-32,-24,-48,
-27,39,95,-14,0,26,-43,-58,108,61,-8,-55,21,126,16,50,-85,-68,25,-81,-82,-21,83,70,-68,-10,-50,-3,-67,-51,-98,54,46,-27,35,-21,35,60,81,17,68,-25,-56,29,30,91,-10,-74,13,-1,-109,
-86,-54,-8,22,-6,-40,60,58,65,162,34,-103,-20,-23,-23,10,126,59,36,82,-5,61,28,-138,-23,-62,39,-25,71,-17,-110,4,61,-107,-23,101,-7,33,24,61,25,36,-94,18,12,-75,-28,17,-51,-78,
25,118,57,-30,7,113,-19,-23,30,-67,18,65,-128,-19,105,-75,97,22,75,-45,-12,5,-37,-45,-38,-43,-38,-18,-48,8,51,50,-88,-9,87,-6,-23,-3,32,29,60,-2,0,78,-47,19,31,-44,-13,-137,-9,
-67,2,-68,-44,59,41,136,10,-23,75,44,84,12,14,60,11,-24,-27,12,-49,-64,23,18,-141,5,-32,43,16,84,22,-7,-56,-56,8,-13,112,-84,-12,-35,3,-27,2,12,97,-114,-5,-32,3,-4,26,
14,95,-8,14,64,16,-40,-10,-88,-2,-41,2,61,14,64,71,13,40,76,98,77,-61,-98,-95,-137,11,-7,25,3,-52,41,18,20,-16,72,36,-6,44,12,-32,16,4,-46,70,-20,5,5,-46,16,-69,-2,
-38,1,-56,-34,64,-22,-31,132,-7,47,-6,106,29,24,-21,-22,-28,-18,-5,-32,-30,49,-59,-11,-50,56,6,-10,158,24,44,57,-83,-96,13,-28,-25,-86,-85,-60,-20,29,-41,5,-44,-19,131,-9,18,8,
21,56,66,18,-36,-19,9,-23,-61,-43,60,54,55,-36,66,10,-7,39,-81,-42,62,59,-22,86,-75,-43,-46,61,-51,56,56,-45,-125,-4,84,61,-59,5,32,31,-55,55,-22,81,69,-21,-100,-46,-32,-85,49,
-38,31,17,-91,38,-24,111,0,71,-47,69,103,-22,15,-38,34,77,25,-9,-88,53,-5,-21,-4,-51,1,20,-3,10,40,-66,-13,-181,-7,-12,43,-74,-88,36,51,-67,-34,71,-51,40,-6,41,13,25,49,
91,55,44,-1,6,-8,-50,-16,-5,7,13,-168,61,75,22,-44,190,21,-11,-77,77,-22,-44,-103,-23,-17,42,-4,-2,103,-19,-50,85,-20,-4,12,16,-102,72,-22,21,24,-6,25,-5,-10,-43,-12,-96,-21,59,
33,-76,42,0,-9,-37,78,-93,14,44,51,83,18,-11,12,-17,-21,84,21,-22,42,-30,26,-16,26,-36,-4,-69,-51,-39,-55,-110,105,56,-20,-55,-10,-1,98,-36,24,-52,-7,29,10,16,-13,0,35,-7,
8,-6,54,-2,23,-40,-46,-37,-10,11,-39,-45,60,97,-14,-2,14,37,-70,-8,75,68,-22,28,-25,5,-34,-44,-5,-49,-102,-12,59,-85,-33,-2,19,71,49,-26,-32,114,57,12,-33,-14,68,31,21,5,-19,
5,1,21,42,-46,-24,54,99,-30,59,5,-88,81,65,-13,-36,-95,104,5,-10,34,23,32,-66,-157,24,-6,-2,24,8,-105,24,-70,34,-89,12,-8,42,-49,50,35,28,15,-36,-25,63,-39,0,8,33,
-33,22,-38,28,40,32,39,11,-29,31,-4,-9,-87,40,-62,52,-34,37,-16,33,-22,-32,-65,105,-32,62,-16,21,-34,-60,27,-9,-81,10,-2,-61,109,50,52,22,-23,25,-57,-6,30,-29,-19,63,68,41,13,
87,-9,-28,29,44,23,-7,3,16,-47,57,32,37,-25,36,49,30,-35,-136,53,-46,-133,-5,-59,24,-3,3,-21,-112,-82,33,-1,-63,63,56,-16,56,-54,-13,53,81,-48,-26,68,5,41,-36,61,-8,-64,
-54,-37,33,21,-17,-24,42,23,17,2,-39,80,99,-74,-31,-19,-62,-31,43,143,-34,-104,69,86,31,-67,-50,3,59,-10,-95,-56,-56,-4,75,-96,65,0,115,37,-9,-12,73,129,46,70,-31,37,-9,18,2,
-109,2,-71,67,35,23,61,-3,79,28,-70,-25,-35,-44,13,-40,66,-78,43,-114,13,62,8,-81,55,27,-21,-77,-12,-116,-84,-52,65,125,-15,-21,-70,-10,118,-55,61,49,-53,0,58,26,-7,-80,24,4,
-10,23,47,-70,5,39,-23,-58,11,83,20,-47,-75,-113,53,50,-23,50,23,20,20,4,49,-16,86,-52,6,-57,101,5,108,-88,-40,-113,-26,50,-27,53,-53,11,-93,104,-88,52,-32,39,111,-41,32,83,74,
18,17,44,80,25,-43,-15,-69,-53,68,-38,61,-5,2,-126,-23,54,-55,-36,-56,0,45,-152,18,101,-19,10,-120,25,-74,50,73,-19,81,8,-15,69,37,-49,-41,14,-21,63,-48,84,27,-25,0,-77,4,
0,-41,-73,78,13,41,-65,8,-18,60,55,53,-7,57,-29,-16,-2,14,-111,51,59,11,-124,66,-12,20,131,6,45,15,-91,-71,-36,-15,-29,-52,25,97,-63,-33,27,36,-10,6,-86,85,92,-24,80,20,24,
-49,-6,98,-18,20,21,10,-17,-1,-5,-23,70,56,-108,-8,-42,12,8,-92,-10,-7,-66,40,0,82,-48,-53,45,55,-21,36,3,20,-1,-43,3,92,-62,-24,-15,-41,-10,2,24,-34,42,27,7,-25,-45,
-119,4,31,-47,50,12,21,42,-13,-48,-26,-16,-8,36,182,-6,51,-11,60,-97,0,-68,4,122,36,-18,4,-6,-49,-33,55,48,-32,-25,-16,-43,-98,11,-38,-37,42,26,1,-35,88,-9,-26,32,97,-15,98,
-29,108,-69,-82,-14,-16,100,28,-48,-49,-24,123,-39,76,-13,-22,-26,98,-37,10,-12,-41,-26,-29,-28,-18,-75,56,71,47,13,-39,-17,39,67,-16,-1,-32,59,59,20,37,-71,-42,-66,-41,-78,-21,9,53,
-1,-24,-1,-54,-4,-33,-13,-5,49,-15,3,102,-55,-21,24,46,-33,-4,47,13,81,-77,-76,9,-40,92,-124,25,40,-11,-54,8,40,86,-77,-27,48,40,-10,-62,-98,-52,-87,9,80,69,-7,11,36,61,109,
-11,11,-8,-12,70,-127,65,-132,59,25,-76,-35,56,13,122,36,-31,-51,1,-102,43,10,10,-79,20,66,113,25,-42,-7,-16,13,12,55,46,39,35,-88,-51,-45,70,-23,47,14,-26,25,-48,-18,11,19,
13,-11,2,37,-42,-17,-26,31,-12,-7,10,-53,-9,-6,-63,-8,28,8,83,-2,29,-62,28,-51,-52,22,84,-30,5,-66,-6,17,34,-69,-7,17,-68,-5,47,68,35,54,-21,9,33,-46,-59,56,-3,34,-7,
-53,66,-73,37,-117,-38,14,-59,89,-28,-13,-41,15,24,-9,102,-33,7,-36,107,-23,7,-76,36,42,73,46,80,-20,39,-13,83,-107,-38,-54,15,-39,33,121,9,27,46,-2,18,40,-16,-1,-39,-53,-5,
-26,1,-7,1,-10,30,-19,62,-64,77,-8,-117,66,-27,-41,12,52,-9,-60,19,80,-94,20,-34,7,-1,-17,-44,3,19,-11,-18,28,-100,5,-18,122,-6,59,52,-23,35,20,-105,-69,72,87,-3,15,-94,-10,
132,-80,-56,-59,54,37,-54,89,19,-126,15,6,64,-23,-52,26,8,-90,16,130,-28,-110,-5,15,-62,60,-74,122,84,143,29,-75,-75,-91,103,59,-16,55,8,53,-39,34,-71,30,-4,22,-19,-8,10,51,
34,-49,-17,37,-31,-24,-14,6,-37,25,68,-11,109,83,-19,3,-62,-33,-11,-74,28,-33,38,-37,10,96,-132,-96,80,-158,-23,45,-13,109,-45,-19,25,-9,-3,-12,-57,20,36,13,42,88,8,17,45,-12,-84,
-27,-42,61,-54,3,-52,30,76,10,32,47,7,-20,-57,-70,7,60,-38,-31,53,29,-150,62,22,-49,34,43,-13,60,7,-15,75,-80,45,-11,-8,40,12,-19,56,-11,35,-27,4,-35,86,-2,54,20,-43,
-66,34,-12,-22,11,47,30,-52,-21,33,27,62,-33,-37,-68,-4,80,41,-153,-54,9,-129,114,53,23,-1,-3,-123,8,40,-56,36,114,-54,-11,-85,-11,35,28,-3,5,146,-25,50,-58,-27,46,11,61,88,17,
-129,-121,-82,68,19,-113,34,25,98,55,17,-15,-23,-50,-8,-17,-105,-17,62,35,-156,99,-38,52,41,47,63,-39,21,-69,-11,48,78,-7,104,-17,31,13,-51,34,-61,11,-34,28,58,13,-3,34,-17,20,
-32,25,40,19,-4,8,-37,25,-14,12,10,5,1,-44,-17,24,97,-103,-60,30,19,6,40,-35,119,-37,-99,98,-57,-53,5,-89,-1,167,-2,-27,-22,-14,-45,-8,41,-2,66,41,-3,-2,52,-50,54,-53,-1,
-31,8,-27,29,-21,-56,-147,-4,14,26,1,21,-62,28,5,-29,21,34,-22,62,-36,8,76,20,-31,119,-72,15,-78,56,79,-97,51,84,23,44,23,-76,-33,-16,98,-45,8,55,-35,-6,-20,51,-16,-26,
-45,-5,-45,-4,8,44,2,27,41,-62,100,-114,0,45,4,20,-59,-42,65,42,64,-32,-11,50,-89,-36,54,-7,19,-11,-42,-6,-104,11,22,-162,24,21,38,-26,40,74,-25,-56,-21,101,-18,76,29,20,58,
-32,-50,-74,-65,97,3,-79,-49,0,-60,-75,-52,-46,7,79,-13,63,21,-1,60,30,47,28,22,-41,23,14,34,64,-20,8,39,73,-40,57,78,5,2,-4,-64,49,-67,17,-18,35,-34,23,8,-25,12,
46,17,-50,13,-16,11,2,-45,-3,68,-45,-8,-62,-20,79,-14,69,67,13,-17,-9,51,-61,-11,58,-127,-131,129,16,12,-75,39,-102,-36,-25,19,-113,-74,45,72,-42,-10,-23,-3,-26,11,-4,35,86,36,151,
16,-8,-61,-16,-32,10,-86,7,-8,15,-35,-58,-3,124,-54,-26,-42,51,40,114,34,80,54,-31,-6,88,88,-57,-71,-36,71,-21,53,34,-21,-9,29,90,-30,24,22,-23,-73,-3,12,-1,-37,-13,1,-23,
45,-27,-32,11,-27,17,31,-18,13,-56,-88,-11,56,-33,45,94,57,88,72,-54,21,-12,-101,13,-7,27,-17,-74,69,-19,-6,72,-108,-98,-88,-61,-68,-31,-24,-21,-53,9,50,50,-16,-50,49,125,19,99,88,
-1,-13,-36,-18,31,-86,14,-32,-26,8,63,-66,46,59,35,83,10,32,62,-62,8,-38,135,-34,-21,-8,-4,-73,24,-7,13,56,-19,22,52,-24,29,-15,-36,-15,3,-36,84,42,-12,-3,-46,1,-49,14,
-9,-27,-19,-63,-26,22,66,19,16,-32,-149,21,70,81,87,-5,17,18,-54,-4,-19,-16,-50,-56,60,10,-2,78,-63,-35,-8,44,-49,-30,-74,-3,-25,28,-142,-48,-4,35,-70,33,107,-15,-35,4,29,50,19,
158,159,36,-15,-65,72,-47,74,9,-104,-16,-89,87,-9,42,9,7,12,36,26,-76,-23,-19,-51,-13,35,10,31,-89,14,-19,-71,-12,14,62,-14,-10,52,32,38,33,29,14,23,70,-12,13,25,-42,-42,
-6,-37,39,-3,-31,-91,-45,23,-11,-17,28,-96,-40,77,54,28,63,10,34,47,28,-31,-159,66,59,-30,-64,7,23,-27,9,-10,-46,16,0,-12,36,-71,-56,-12,-10,106,4,-41,-83,65,24,29,32,80,-41,
-19,-16,54,51,9,-49,133,-21,1,-20,52,-97,23,-87,-44,99,114,-80,6,-3,-14,-18,51,-76,42,4,86,-66,34,-43,-75,51,71,96,-38,-85,8,-27,9,-8,21,-60,120,-22,-15,30,-5,23,-2,51,
-47,-68,3,48,9,40,30,33,-32,-34,7,78,-34,-111,31,16,85,-60,49,20,-78,38,-57,62,60,24,-3,-10,12,-43,-3,-14,74,-44,-25,-21,-15,-12,118,30,-61,-94,-19,41,-17,33,-11,-29,64,-9,-50,
31,-70,-32,-66,-66,37,25,-21,-5,32,-5,-1,-16,11,57,-111,-30,-4,-10,-3,80,-57,117,45,-97,-15,115,3,22,95,20,64,70,-66,-61,56,-20,18,25,-60,-29,9,-63,-11,44,7,22,-16,30,62,
-10,-2,5,-56,-37,14,41,-7,36,29,-2,44,-25,54,2,4,-30,-74,-43,58,-27,42,51,-30,-14,126,46,-22,-9,-34,-6,-64,-11,65,-61,43,2,63,-34,-84,68,-58,-12,-64,4,73,14,-58,88,-31,-24,
6,16,-41,87,-58,-36,-75,-6,70,-50,-167,-56,129,32,-142,-13,-39,42,2,51,63,-26,33,27,-48,-17,-79,51,89,-41,11,-14,5,9,-38,-32,68,60,15,40,-16,78,-41,90,25,63,-34,-7,27,10,
-19,-11,15,-39,56,3,-15,-27,-27,18,-10,11,26,40,132,-55,45,-77,-76,8,-46,11,-48,88,-9,8,18,-78,10,63,-5,90,77,-39,-66,-53,25,-50,89,57,-81,91,37,39,-34,49,-43,3,25,-61,118,
-48,-72,43,34,-108,16,-54,-10,-141,42,-81,95,-146,-25,-21,4,48,25,-25,-59,-49,33,88,27,-44,27,-31,-18,4,28,9,-6,28,45,-30,11,-29,17,57,108,76,35,45,36,2,-49,-38,0,34,-50,
-20,-2,-12,45,32,-67,14,7,18,29,7,-1,-25,-18,26,24,69,-20,-74,-88,-9,-32,63,-38,-56,37,40,29,-74,-46,72,40,1,32,-9,-25,-40,129,24,79,-24,-55,-35,-9,120,127,102,-19,-70,29,-89,
28,-11,-6,60,6,-32,26,-55,-126,-43,-42,-3,18,60,87,-20,-23,-61,36,-145,33,-21,-77,-48,43,-9,-21,-91,4,26,10,79,-31,29,-23,-32,6,43,100,-10,-57,54,74,-78,-2,62,3,36,-16,88,
48,41,-14,29,28,38,20,-18,-36,45,-31,20,29,-58,23,-74,60,-70,-69,-12,65,34,-39,-3,33,-76,26,-67,-86,68,3,83,-2,71,35,23,7,93,-18,11,16,-62,-15,3,-60,57,15,102,2,-32,-16,
79,28,-4,-66,8,-60,16,4,-104,-105,16,41,4,47,12,-42,118,-32,-14,-59,44,-84,-55,-12,72,-86,-22,-16,-78,38,-94,105,29,21,-46,-80,52,58,-18,54,-8,-15,59,13,0,-34,59,51,-29,31,
10,21,46,-32,35,-34,11,44,-20,55,-47,-43,-52,64,-34,4,67,8,-19,-10,-71,2,-28,79,76,68,-7,36,-78,-30,-82,-56,-35,31,119,58,79,15,19,-43,-89,-67,59,36,23,72,57,-12,70,23,-45,
-11,-36,-37,115,-2,100,-90,-62,-99,-100,56,-34,23,50,-120,45,-129,-43,104,3,13,95,-90,-35,-3,-30,-63,-31,48,-33,-64,-87,53,54,13,-29,-4,32,-76,-7,34,95,21,58,64,-4,37,41,-16,-6,
39,31,-1,21,-55,5,-23,-35,-61,118,-57,7,34,-16,-7,79,-56,20,15,20,56,-15,14,-74,-117,-62,-30,22,-37,94,17,30,-16,-43,38,80,105,25,9,-20,-10,51,114,19,-102,43,-14,40,63,76,43,
28,100,-81,-96,0,0,-59,24,95,-172,-13,-29,6,-76,-116,94,24,-29,24,-60,-54,16,-94,21,-86,-52,29,65,-7,-76,-73,13,62,-2,-48,47,25,-8,-104,22,83,-24,59,22,-12,121,46,22,7,5,
-20,-14,-2,45,-18,-30,77,71,-10,-105,26,-36,-26,48,-31,52,60,-3,-94,56,10,-11,29,-26,19,22,7,-7,43,-38,-67,-36,3,-33,35,27,-17,-44,135,26,-6,2,153,7,126,-5,-14,-4,-44,-23,8,
53,34,-60,-68,60,35,-46,-89,9,-68,-37,21,27,-7,-12,83,-131,32,-70,-47,36,-40,-33,-17,-5,-23,3,-45,-6,-28,3,27,66,-83,-36,13,-86,13,43,75,10,82,14,-4,7,42,14,-18,40,60,
55,1,4,10,-12,0,-18,-24,-8,30,57,83,-23,-9,-71,-12,-66,92,24,-35,-38,58,48,97,-28,36,-110,45,-17,32,83,23,-20,-3,-60,2,-43,47,41,19,54,-56,1,-39,16,-98,-78,17,95,35,-45,
55,57,-26,105,36,3,-1,-12,-4,-14,-70,-7,8,-18,7,-27,-37,118,-8,-39,-123,-104,-79,32,-3,-5,20,62,29,-50,-13,-30,15,-8,-51,37,-17,-64,19,58,33,-16,67,-12,-76,18,46,41,9,13,
26,-12,-8,36,6,-27,29,26,7,-11,-16,23,-47,22,51,-42,-30,69,-4,15,96,-3,70,-30,-28,13,23,56,38,-24,65,4,-14,-30,-42,-13,-20,-113,-17,-81,79,29,-8,-29,-33,42,73,-48,100,116,-6,
-7,-115,-14,39,69,-53,-11,47,32,69,74,-49,-126,88,17,12,-53,22,-62,-50,-58,-40,-51,-30,-49,-30,78,-20,45,30,-81,28,-10,-38,5,-82,24,-14,-44,44,47,-17,-6,0,40,18,27,12,-19,50,
33,-11,16,15,2,11,-27,-50,4,-4,55,64,-14,39,81,19,-17,-147,26,42,-61,14,60,-52,21,-5,-54,170,66,-21,-80,-46,44,33,43,60,0,53,-55,-6,-67,53,8,-56,26,95,-5,27,-59,27,-64,
40,-9,-21,10,26,23,-57,-22,15,-5,71,13,40,-48,-29,58,16,-14,42,-6,-29,-93,-112,-89,59,-20,-26,14,-47,-73,47,-5,-72,-45,2,61,-22,60,-5,-45,-2,34,60,53,16,-17,-11,-23,23,24,
50,-5,40,-31,-7,-2,56,-19,40,-20,40,27,17,17,-24,-41,61,-12,22,-84,-76,172,-7,86,-1,-29,66,-11,-60,-66,-21,54,52,37,64,-3,34,-44,-10,-12,-53,16,-45,-1,-33,44,149,6,-42,-28,-16,
11,-102,25,21,18,-74,-56,133,-9,-16,61,9,36,-93,76,-71,-92,-17,-69,-25,-97,0,132,81,20,-49,47,-49,-43,14,-14,8,-25,-142,-60,-2,21,4,89,-33,39,-53,42,4,38,71,-18,31,45,-48,
13,38,5,34,-21,-12,-57,8,-50,19,68,58,73,-2,20,-24,30,2,21,-34,50,56,-58,54,35,-10,123,-53,22,3,24,-73,99,-56,-19,-15,65,-165,55,70,-94,76,37,92,35,-39,-15,-71,42,45,44,
-77,-117,-6,30,4,43,-100,57,-40,-38,54,-1,14,61,51,-8,-60,-27,-70,57,-122,37,-16,-88,-44,-39,64,16,-18,-59,9,24,-12,-6,-41,-65,-64,-11,-3,19,79,14,27,43,-24,10,14,50,16,-19,
15,38,15,4,-9,-16,42,-45,84,3,-47,-30,57,63,79,6,47,-81,-52,36,18,14,-13,-75,1,58,-59,106,6,74,30,45,-97,44,-28,46,-59,14,-91,121,55,23,-22,-14,-112,-6,-91,18,-20,59,62,
80,31,44,-42,-66,24,-110,54,-28,123,13,138,-15,-47,-57,-37,6,-89,25,-63,-9,-41,54,-50,-128,29,-80,22,-38,17,2,-37,-18,-10,9,60,-7,-54,9,23,-6,-1,-24,8,45,-11,-5,21,16,70,
-41,26,30,59,12,-20,0,23,85,43,-2,5,-118,0,29,-26,-81,-13,70,39,80,25,-38,2,-16,11,-6,-4,53,-13,127,-19,-20,9,-46,9,-4,-30,85,-42,-82,67,41,81,-22,19,24,30,-24,0,0,
3,31,25,27,125,-73,-27,117,-30,3,-29,28,-34,-31,45,-67,-70,-195,-21,-64,-94,30,-39,-72,57,32,6,14,-35,-64,36,-24,51,24,117,-33,-32,3,-10,-7,-42,19,11,7,9,-11,-6,13,15,11,
52,-5,0,-2,31,50,23,13,-51,30,59,-13,39,10,57,13,17,-25,-73,73,-86,-2,48,9,-29,21,-34,39,26,11,-20,24,-23,-3,30,-70,44,6,-63,29,19,-3,89,-22,154,7,-3,-17,131,35,5,
-17,19,27,-118,153,-39,-80,68,-57,-6,-59,-87,5,13,-76,33,-94,50,0,-26,44,-85,-31,-7,-4,-14,-49,18,-34,-72,31,-8,7,86,6,-37,-6,-5,-60,53,-19,-11,52,-34,18,0,6,-23,-23,8,
113,-9,22,-18,-27,11,18,37,47,38,-16,-16,15,47,34,-22,21,19,-13,-14,22,-45,36,-34,78,105,-47,43,4,-86,-45,109,-92,44,-87,25,-68,-93,31,99,64,85,-31,23,30,39,-16,-35,63,152,-130,
44,46,12,138,-94,74,10,28,-86,-45,63,-110,-121,4,122,-144,-53,-18,-58,24,-85,-6,-77,-27,48,73,29,-19,8,73,-33,-7,-22,-16,-52,-5,-32,-29,-35,23,50,-53,-19,50,32,-43,-19,-6,-40,39,
-33,-18,34,0,24,88,-11,42,0,5,-35,90,3,-76,-18,12,16,77,66,36,-8,-44,18,-25,32,-59,16,6,-19,14,-11,31,-8,75,4,74,-5,-71,-24,41,61,-57,22,55,98,-21,-40,58,-106,85,71,
-59,35,-54,7,-17,50,114,36,-77,31,-92,10,110,45,-82,-14,-125,-86,-53,-82,45,-54,44,-41,60,-31,19,-24,26,-37,-27,-65,-1,81,-79,-26,47,52,-56,27,-10,-28,9,-6,-4,-49,46,10,-30,6,
65,-84,53,13,-45,-2,42,-27,12,-11,-117,55,-31,-42,28,-24,24,30,70,-57,137,44,10,42,-9,47,49,-38,51,111,-26,-91,-26,0,174,31,12,26,-74,-14,-61,-92,39,65,-75,109,-70,-34,87,-34,51,
-74,-95,74,-79,16,-68,66,-29,-3,76,44,107,95,-79,21,2,121,136,-107,-66,-28,2,45,61,-140,-44,11,-83,40,-60,-98,-11,-37,-52,22,8,8,18,-41,12,-18,-70,-7,-3,64,-20,41,4,-9,0,
55,-32,23,28,-22,64,-25,-7,-46,-1,33,-7,-23,-47,93,28,-75,27,-112,12,-4,78,-22,78,47,78,-18,-69,79,73,31,34,-70,-41,-17,-61,-28,46,-1,65,-15,28,20,-17,26,75,-30,41,-64,-12,103,
-1,-21,-22,-16,-5,-2,18,-7,-10,7,24,-6,-121,43,-37,7,16,-11,-46,87,-31,-48,10,72,7,-19,53,11,-66,-12,-34,35,-88,-26,-101,3,-37,50,-35,78,-11,-36,34,39,-1,-60,17,36,2,28,
75,10,28,63,-4,-30,-57,-19,-29,-8,-1,35,-64,74,-13,20,-38,31,7,-10,72,12,-24,-80,-41,24,17,49,33,-66,1,40,95,25,-2,79,37,77,-222,64,-102,-82,27,175,84,106,2,6,-207,37,-10,
66,-51,20,46,-2,17,-17,16,-61,-53,-35,2,-126,-43,-191,28,31,78,94,-107,80,-47,3,-21,96,-46,-81,39,10,28,-30,-39,-26,94,17,-61,-36,44,-3,1,33,14,62,101,18,-43,1,-5,7,-52,
-17,-10,46,-26,3,-45,16,-36,20,-53,-25,-18,118,-51,122,-51,15,-29,-64,-67,64,-26,150,-46,-85,115,2,47,-29,-65,-46,-23,15,-12,36,24,151,-11,-38,28,-40,5,-28,196,64,-138,-7,40,16,42,-64,
38,89,99,-102,-67,-29,100,-65,8,-127,-65,-10,-26,-22,-6,38,32,-2,-43,61,-53,-148,-22,-25,-9,5,-65,9,79,-7,-11,36,72,-95,47,84,-48,-35,40,6,26,54,51,-13,71,31,26,0,-7,-19,
0,20,22,-5,13,-38,-54,20,31,-15,22,-25,-5,-59,-34,19,-8,80,67,-37,-69,-64,65,25,-25,2,0,43,97,-77,77,-46,54,-48,89,27,-83,-47,42,12,-45,-22,20,16,159,87,-46,84,-175,51,17,
-28,52,-36,-48,16,62,112,59,-72,-87,-71,-42,-103,30,2,-61,-37,-88,-65,60,-45,55,-79,-30,48,-4,9,38,-43,0,-47,60,53,32,-28,50,-19,-17,30,-25,51,43,57,-4,-27,36,-11,17,69,8,
-73,23,4,-18,-45,33,9,36,-24,-21,-49,17,39,37,49,8,18,23,47,89,8,-56,1,-13,-25,-10,13,-52,-29,69,12,-119,-52,-33,97,-5,-30,-47,-4,-78,-16,-18,89,46,52,-16,161,-86,26,28,-77,
-12,-32,51,112,58,13,-85,93,-28,-9,-39,-64,26,-98,-18,21,11,-114,-64,17,-24,35,-67,-50,1,62,31,-68,18,4,-31,56,14,36,63,-3,17,-39,0,-27,57,-24,21,24,25,62,68,-34,1,61,
-23,47,-33,-78,10,41,39,-7,-55,-4,24,31,42,-64,3,15,43,56,46,-31,-94,80,-56,36,-22,10,-35,-20,61,143,30,47,-3,9,65,-151,-28,-90,-38,-67,7,98,98,-56,-17,-33,-20,65,33,-6,37,
31,32,45,-129,-37,-74,-19,12,-26,68,25,-33,-17,-54,-96,13,-72,61,-27,53,36,78,85,-7,-3,-56,33,60,-58,-54,38,46,-69,-53,11,21,-54,53,26,3,-10,9,6,-22,0,44,10,24,16,12,
51,27,5,0,13,-52,-41,-35,46,-10,27,-122,2,59,5,81,-26,4,-61,-48,98,11,-25,72,-39,3,-89,84,-25,31,54,127,32,2,-21,63,-3,-53,-113,60,-64,1,-41,75,37,-48,27,-101,48,-107,32,
-16,-1,56,55,-48,-79,11,-6,67,17,25,-15,-49,42,29,42,32,-61,25,-34,55,-28,-52,-99,81,94,-73,20,-98,-12,8,-11,17,-36,39,45,6,15,-13,2,4,13,-25,13,15,9,24,-27,26,9,
-2,-29,-29,-2,13,7,38,-32,5,56,-81,-18,-35,30,60,38,38,38,18,-67,49,20,67,-53,-77,12,-65,-44,7,-48,-61,140,-71,16,64,27,126,7,41,-57,-30,-4,91,78,-2,23,-106,4,41,9,74,
-87,12,-59,-45,55,94,38,5,-129,-90,92,3,-36,68,-75,-4,12,-37,5,-27,-46,27,-103,16,95,-63,8,15,66,18,-83,106,-29,-26,21,-44,2,8,30,-45,0,-12,57,33,-36,-16,16,10,7,15,
7,21,-33,-33,27,-3,-4,21,32,25,-71,-5,-1,57,19,-30,32,-21,19,99,46,-20,59,-39,24,40,-20,60,-120,-100,11,56,59,-9,27,96,-87,102,51,-64,3,-21,13,-91,10,83,-1,-63,-40,-11,-51,
88,43,-30,48,-36,-81,-7,-22,83,1,16,-79,-23,-55,51,-16,11,17,10,95,-5,-104,79,-39,34,-49,-70,46,79,-62,-34,26,103,-21,-29,15,-18,-18,-38,-22,-25,-53,-19,52,41,-13,11,32,-37,29,
19,32,40,-16,-13,-26,13,5,10,34,-15,-12,30,3,-11,74,-60,-55,-13,-19,46,61,4,58,17,54,36,-53,-19,8,-93,-4,25,6,1,-108,-44,12,77,-1,27,-35,68,31,-36,19,-60,-24,41,83,-30,
42,156,40,-29,51,-104,-100,42,5,-23,-9,35,-37,-114,48,14,-57,-31,36,44,41,-54,67,-49,-74,59,-27,-18,-12,8,5,-45,77,58,-10,-29,-44,75,-42,49,44,-61,-120,25,-16,33,16,8,-17,23,
14,-2,59,-35,34,13,1,47,8,-35,36,-29,105,-5,-38,-35,110,27,51,7,22,15,-42,36,-39,40,-38,79,-66,32,28,-40,-25,-63,11,-112,-6,26,-72,10,-39,-40,151,-12,97,-124,-24,-29,67,-12,81,
-43,86,62,-23,32,-108,-13,-49,-20,-29,105,-5,-10,61,-40,15,28,29,49,51,-74,-35,4,-7,11,-21,80,-48,-34,-45,-20,-8,67,33,19,-22,46,19,-44,-9,-67,52,-30,-27,-30,-24,-41,11,-7,-6,
38,9,47,3,-9,45,22,-9,-15,0,-110,42,16,42,74,81,72,48,15,-33,10,2,6,-77,11,25,45,-49,-60,16,-44,-9,-39,93,132,-108,4,-142,33,-136,-68,-25,-35,57,107,49,-50,-97,185,-44,58,
-56,-50,-64,-76,18,48,-3,112,104,-43,-11,-29,67,-43,-7,-25,8,-56,28,38,26,-23,18,135,-54,-57,-74,29,8,41,-72,9,49,-76,0,-42,22,27,-23,58,25,23,-69,-1,-102,-21,19,-22,30,95,
42,11,-5,30,-13,6,-11,9,-5,73,70,-3,39,-24,-40,37,-51,-63,-55,-11,37,-14,102,-104,-33,125,-33,-26,70,-69,72,-4,-66,-88,76,-57,58,-7,-34,-38,-13,43,80,-89,-107,-33,-18,-33,-65,55,45,
116,-58,77,109,32,11,10,-45,-40,65,-99,15,32,-71,-11,70,33,31,-15,-23,45,-15,-125,-35,53,114,-26,-7,58,-68,18,65,-49,13,-60,38,-28,-27,-22,32,8,-24,37,51,9,12,0,74,6,-88,
5,18,-43,54,34,-28,34,36,8,14,41,-11,-19,21,-39,45,51,-11,-9,-14,-8,82,-81,21,-130,-107,22,-110,60,3,-9,14,-14,46,128,52,-23,-87,-78,102,43,-30,51,1,55,-99,-20,1,-24,5,19,
37,28,22,-98,-93,-65,85,75,-9,-11,164,11,61,79,-42,61,-54,23,-64,-2,32,-88,-53,-61,15,-103,42,-5,6,-19,6,-17,43,-89,18,25,13,-42,42,28,1,51,-5,-59,86,50,19,11,13,-74,
12,4,-35,-1,-50,51,20,20,-1,4,74,-136,-80,76,109,5,26,14,23,27,83,-48,-38,27,3,88,-24,-55,-87,-65,-27,-30,55,-20,-121,94,2,109,16,-80,110,119,-16,-116,-43,-4,29,-37,74,24,-46,
-3,27,-41,117,-39,-67,-49,65,77,-14,-37,-39,-44,8,41,-26,49,92,-16,-67,-66,-135,-82,-17,37,39,-9,-3,34,-38,-25,23,-3,15,0,12,53,33,20,-8,-25,9,-1,-73,22,-11,78,49,43,23,
3,22,-35,-1,11,51,29,-9,-18,-13,48,-76,-10,29,-20,19,29,-48,-67,27,9,157,43,8,8,5,91,4,-23,-40,-20,10,-112,15,32,81,-34,-43,95,18,-42,32,-30,-15,-8,-102,-7,60,55,12,-50,
-40,-6,46,14,33,14,-11,-59,68,157,-97,-11,47,-96,-29,-23,-5,-60,-107,15,20,-31,-19,8,-72,28,35,-39,9,-35,29,-145,-35,40,37,101,-22,19,4,-44,-45,8,37,40,32,57,32,6,19,62,
19,-24,-21,-8,-40,-58,123,65,-46,-36,-28,-47,47,-94,-47,-126,31,2,35,98,5,54,123,-35,102,-24,17,7,34,-13,-93,-36,22,-19,-16,-32,-16,50,-12,43,22,49,51,45,-119,-40,-8,-63,54,-33,10,
70,-114,64,-5,-41,66,69,47,-3,74,-56,28,-15,33,-38,-1,-104,-36,17,71,-93,28,5,58,-63,45,-11,-103,-32,-49,8,35,-14,-43,-43,-13,51,10,-3,25,36,103,-8,1,-13,20,22,-12,43,76,
-13,20,-13,66,-25,-57,26,47,1,-55,-25,-7,32,-11,-64,-19,0,35,-23,-20,25,70,40,88,-29,84,4,-53,-50,-32,-70,-65,34,27,31,55,23,25,37,49,23,-4,55,-55,-144,21,-66,32,-42,-78,55,
-90,48,-55,21,52,55,4,55,-46,55,-102,57,-35,174,-88,33,-22,8,-69,-7,27,-51,26,22,49,64,5,-47,-33,-6,-28,-38,8,3,83,-1,28,-48,-22,0,18,-3,-29,9,0,63,51,-32,10,5,
-36,-6,-28,64,1,18,-39,18,17,27,-66,-12,-4,18,-74,-45,34,-56,115,-87,-19,89,-16,60,12,-108,-57,56,30,82,-31,-14,-7,54,98,76,-83,57,67,24,-40,-107,-166,191,17,19,42,-100,-67,9,-114,
-17,-67,190,-5,24,32,25,91,17,-16,-19,5,-18,-84,96,1,-55,28,64,-15,-45,14,20,91,-45,29,-109,4,32,45,26,-29,-12,-53,-46,4,-17,-52,-5,6,31,27,23,27,-17,-4,-15,-5,21,30,
-45,-57,21,13,-4,-19,43,6,-1,-8,0,8,-8,19,-63,11,-71,-29,-63,89,54,-78,15,39,8,95,-55,103,-10,-33,48,-8,-57,139,-55,61,8,-11,26,5,28,-8,31,-48,-192,29,116,-62,115,11,171,
-140,-28,-74,5,-29,-8,81,39,-117,81,-27,-10,5,54,-22,24,-83,-78,122,-45,39,29,25,108,18,37,-43,112,-92,42,-113,51,-104,-15,41,20,41,-50,40,-135,28,-17,16,-18,-38,-9,-22,18,-15,95,
-79,20,3,5,64,75,-67,1,51,-21,15,-34,-69,-11,1,-34,73,14,6,-34,37,-15,-63,-19,1,118,4,42,-78,-15,24,51,50,-6,-93,8,88,-22,-25,68,-96,84,-14,39,-37,-35,-104,-134,-49,150,48,
67,9,74,17,-44,-38,0,4,5,86,20,32,67,-32,17,-29,102,-20,-41,-80,58,32,-25,8,83,-53,52,-31,3,-39,14,8,-47,-6,-22,-40,-42,28,38,21,2,-13,23,-17,8,-64,2,28,-1,-44,
-5,0,-20,-53,51,-10,-25,43,-1,21,15,-9,-10,87,-84,-31,10,-27,65,23,-70,-143,22,22,30,14,38,74,67,-22,-54,40,90,-4,-20,-65,-62,107,-30,29,94,1,39,-132,-58,-51,-3,-43,-83,11,54,
31,16,118,32,-44,-153,92,26,107,28,-3,13,47,27,88,21,-41,10,-32,40,30,116,-53,85,-24,27,-74,7,-19,-21,-47,-39,-45,-43,-113,6,18,3,57,4,56,-59,-20,17,1,-10,-61,-32,24,20,
-1,9,-33,-26,-9,29,-17,-4,77,16,29,50,-59,-79,11,-67,81,-17,-38,9,-8,-15,-43,20,69,-10,-29,79,-47,84,16,-32,102,68,-13,8,26,71,-57,-50,20,-104,-66,-27,-80,25,94,76,6,49,-72,
49,-83,-29,-93,84,-31,-24,29,79,51,42,50,-39,61,-14,74,-36,81,33,57,-47,-16,2,39,22,-30,-28,-82,-7,-15,31,-47,-27,12,45,-89,66,-32,-80,22,-10,-11,-24,62,-38,62,-4,5,20,-97,
-19,-26,-29,33,24,18,9,-1,-42,-19,6,-87,-35,21,-67,24,-29,11,40,-17,53,-16,-34,48,83,-13,30,-12,-55,-153,86,78,144,18,-64,89,-12,34,-87,2,-140,51,-54,63,2,23,1,-69,55,-30,65,
-6,40,-53,-6,-24,98,-9,17,33,22,-3,18,5,72,61,98,31,25,6,66,-34,-92,19,-53,18,-1,-35,51,-7,-101,70,12,58,-35,-23,-15,-103,-70,-31,-31,-40,20,16,-17,2,31,-5,-6,21,55,
-38,0,22,0,2,7,-20,-29,-35,16,35,11,5,-23,-15,-27,0,41,-7,20,10,59,-15,45,-13,-33,-139,-1,81,52,-15,33,-63,-42,165,-35,-103,86,-135,20,26,95,11,-87,71,47,39,99,10,-111,5,
-81,57,-82,96,-22,-52,6,93,-34,-42,-26,69,34,75,-68,52,-37,99,32,148,72,-82,-90,64,-43,36,-6,27,-24,-16,21,-8,52,-59,-50,-19,-26,-31,-41,30,-24,37,-30,39,48,50,-22,-41,-22,-120,
20,36,-5,-19,-4,-5,20,-35,-21,-17,18,24,-8,-27,10,25,76,-26,24,-103,-50,-10,72,-38,81,30,-4,-37,55,-78,-31,-54,27,-20,60,13,20,-92,-96,1,87,55,39,17,-27,3,20,-67,-18,-40,-2,
52,-65,47,-72,-56,18,145,-60,36,12,114,70,-53,-17,-28,-2,55,24,133,30,29,20,33,-52,-27,-15,65,-35,6,23,8,17,6,-5,129,0,-1,-51,-104,-30,-111,24,4,21,-5,-28,8,-29,-3,-13,
11,31,-64,7,13,-59,33,-8,27,-96,9,17,17,64,0,36,66,45,-33,-88,-12,39,28,47,-76,-81,3,-2,20,-34,29,27,-97,82,-35,33,-85,-107,100,-58,67,61,86,-54,28,-7,-32,-16,-6,102,3,
-58,-148,22,118,-140,-38,127,28,-3,-51,73,45,-52,-54,116,64,-6,56,-3,-2,90,77,-28,46,-3,2,-46,-31,-85,35,65,37,-4,18,44,69,-107,33,-35,-120,-30,-26,-30,40,-6,2,15,-22,-44,35,
5,-32,9,-12,58,-4,14,22,-29,11,13,42,-20,15,-29,-50,5,37,0,98,11,-27,55,-50,-57,-66,-58,-21,68,35,-3,95,-83,-86,-116,-16,20,101,-15,28,3,-24,93,50,42,-58,57,-7,21,-61,-12,
25,-31,-28,-111,16,16,-39,24,98,-58,43,11,34,5,99,27,65,125,-69,61,-77,7,-56,43,-10,27,22,-19,76,-24,19,-55,15,-13,-58,25,62,-57,54,-17,-39,-23,-48,-2,55,-17,-64,-48,23,-20,
-7,24,22,4,68,-3,-31,-26,29,71,-99,15,1,76,17,-89,-70,-6,22,19,27,51,45,48,-21,-16,-50,3,33,-70,-17,-82,-33,-37,-59,111,-53,-36,-12,195,-24,-16,-53,-21,86,-12,71,-42,-38,4,73,
-98,11,-52,-8,3,12,-62,-3,121,47,86,63,52,76,-25,-20,42,18,20,73,18,12,-58,-32,-13,16,-51,-35,31,-76,-72,45,-6,-53,-28,97,-42,23,25,2,13,29,-66,1,5,-3,35,-45,-44,-10,
12,28,40,-66,76,-35,-18,-32,-85,28,2,-32,16,63,44,44,-46,28,76,36,7,66,-39,-33,13,12,-23,-45,-60,20,21,-46,-47,-29,12,52,-60,16,124,-86,-65,-6,29,4,-180,33,-36,15,55,-10,-5,
2,-53,8,67,32,106,53,-69,-66,-8,81,25,-8,79,100,148,0,-42,-8,-1,-19,-8,-43,-22,-83,25,21,-14,84,28,-21,-38,-18,-13,5,-48,33,44,-38,92,-16,-44,-27,20,40,1,-89,-42,18,4,
129,50,10,-34,24,-35,0,5,33,-12,-43,-21,-56,32,19,-104,32,-25,8,53,80,-63,87,-64,-93,27,-82,1,-23,-12,51,-114,-25,4,15,-10,127,25,46,7,-7,-45,61,-115,39,-55,17,53,-51,31,-36,
-26,-26,38,15,-5,102,27,-99,13,175,27,38,55,-18,-53,-42,84,-27,101,-68,20,-70,-3,-87,27,68,-30,76,-4,22,10,36,-24,-26,18,-9,-59,12,-17,-9,7,43,26,-11,20,23,-40,-18,-15,-72,
-9,47,62,50,-17,2,-11,25,-7,-4,-71,-10,-20,-50,21,-36,30,61,-35,14,9,3,-26,-96,-80,3,-49,-67,-21,-11,-11,90,17,85,2,3,11,95,-43,77,-2,-46,30,-118,57,-8,42,94,40,91,-194,
65,-13,-76,9,17,24,105,-3,45,78,30,35,2,25,-13,2,76,-43,-35,8,10,-37,-19,-70,73,-1,-97,49,24,-97,52,27,22,0,-31,-30,15,35,11,25,-37,33,-45,-4,-4,-1,-73,26,-39,-8,
73,52,-1,69,26,-49,-34,-4,-1,-25,21,-29,-6,-31,-13,37,-66,-53,-7,22,81,-47,-50,-63,-30,-53,36,-69,22,59,14,-16,50,64,18,41,94,-32,-56,-13,-1,-5,47,20,-37,14,-1,-12,-13,-8,-32,
67,122,135,36,35,2,-91,-21,37,69,54,43,-69,-80,-13,120,-30,-53,-66,-31,5,56,-5,-26,-39,27,-103,-74,-29,127,54,80,5,53,-54,-11,10,10,-42,-94,91,-6,50,-55,-46,-29,-8,-47,19,-22,
-14,-24,49,-9,2,-7,50,-57,32,-6,24,-50,58,-25,-120,-81,-43,116,-29,-31,-14,-19,-67,-45,-20,-70,72,99,-67,-30,69,64,95,21,65,31,87,92,-50,-83,11,95,-83,-29,-88,-5,81,21,1,-52,72,
58,102,17,-33,-1,45,74,-41,4,-22,16,-38,-22,51,58,8,-12,-58,-19,42,-85,34,8,10,-60,-57,15,99,-68,-58,14,69,3,27,-2,5,0,26,-4,-11,-41,9,0,21,-51,-19,-35,1,14,-16,
2,16,-17,-6,-77,58,46,-13,69,-23,-49,-92,56,-9,-65,-36,-27,26,3,-33,36,22,-65,-4,13,-8,-55,-89,-18,37,82,78,38,0,-85,38,-12,45,87,127,13,28,20,52,-95,-54,98,23,-36,11,57,
101,5,40,-26,-47,-58,41,41,70,-48,-1,-26,58,100,-39,20,-43,21,-9,-38,-26,-50,-72,43,52,-49,-74,-93,55,-20,53,-18,13,32,-16,-26,36,-46,7,40,1,40,-6,24,31,9,-52,-8,-33,-56,
-42,-5,-21,32,-11,-13,41,-27,-39,-6,-22,29,26,-19,23,-7,-35,13,78,-23,-84,-6,-37,-22,7,77,-11,-30,62,16,5,-18,-74,75,-6,19,-65,53,51,107,33,67,-56,-12,51,107,-42,-46,27,-59,18,
24,-13,-4,-135,110,-9,53,-10,30,46,11,60,-53,61,34,-9,101,-125,-53,-45,19,-69,14,-23,-31,-28,48,2,-78,-31,-54,46,-19,37,47,41,-3,69,30,12,-49,-12,70,54,-107,-24,6,-16,-77,39,
-80,14,31,48,5,18,29,-10,-35,8,-35,42,-139,-7,-79,110,37,-7,-1,-38,-35,-38,52,-5,15,82,-71,27,-22,-49,53,86,20,52,47,-54,0,-92,138,32,74,-17,-24,-2,88,-40,8,-50,-56,17,-78,
-109,5,20,10,16,17,4,-40,-63,125,7,-19,33,-16,65,-28,-9,80,1,-51,37,49,45,-97,22,-54,-24,-6,-2,-16,-23,-76,121,52,-26,-58,37,10,30,11,35,-29,20,14,-28,-1,47,-7,-1,-33,
-7,26,28,49,29,-40,-50,5,-62,-15,-16,-37,19,20,3,-78,-71,57,57,-60,14,67,54,30,-55,25,-7,-51,-73,1,-5,44,-24,88,62,38,72,33,-83,146,-124,98,63,-31,-50,31,-31,-50,-78,-78,-1,
-36,-53,-5,58,-50,-14,52,-32,56,48,-85,74,-133,48,61,-28,-31,-45,86,-16,106,-69,5,-1,-66,61,7,28,39,14,-54,17,-18,-87,37,23,-12,50,55,-87,-46,45,14,79,31,58,51,-1,-13,-37,
2,28,33,46,3,-11,0,-22,-35,-74,1,11,99,-88,-46,27,2,-15,2,-33,-47,-23,81,51,40,50,-91,39,36,-5,-112,-32,55,-32,120,145,42,-51,2,-1,58,-39,-27,-70,51,-51,29,-89,-30,-70,-91,
51,-33,6,-139,79,44,5,10,44,-128,122,-38,-186,39,-7,-10,107,32,44,42,38,73,-110,42,26,50,13,-35,-29,-3,-28,7,4,-34,-44,6,6,0,7,-31,34,-7,11,46,12,52,4,1,48,55,
72,-15,-18,30,43,29,37,34,53,-40,16,-6,10,4,-5,35,-20,-49,-122,-15,-34,-3,31,-34,-38,32,42,-41,-92,65,16,21,-49,94,71,-15,-49,-12,66,97,26,-4,-34,14,-125,59,-38,58,-137,-54,-7,
-88,39,-7,-23,-81,-2,-46,27,125,-98,-48,-94,7,-14,49,96,18,0,30,29,9,79,-20,86,-73,-34,29,-70,-3,55,30,-36,-26,11,-55,-1,-43,-8,21,119,31,3,-51,48,54,8,-51,43,26,67,
17,5,23,6,11,44,21,51,-6,10,19,-66,52,1,-83,-32,-62,26,-47,141,-22,-38,-51,-59,-96,49,70,64,47,-21,-1,-83,20,36,21,28,50,4,-33,-103,45,-66,82,-19,58,-7,-33,-24,-50,-147,30,
76,1,-28,24,62,-24,-13,-17,-56,-90,-124,23,66,4,-9,92,22,73,-9,77,46,-91,15,0,50,-88,-34,47,96,-37,-12,-1,-71,-41,-32,1,-23,52,27,41,51,32,37,2,2,24,39,22,-30,10,
114,35,-37,-45,-15,-26,-9,2,14,-50,23,43,75,15,-2,-33,-43,11,-41,32,17,-18,40,-41,4,52,25,12,28,-76,6,-30,-1,-122,41,-136,20,-5,-44,6,5,-88,9,-20,25,-82,-56,87,77,91,-96,
90,134,-56,-87,-36,-7,115,46,-52,-56,1,40,-57,-76,162,-5,68,-106,-18,-44,28,69,-13,38,-27,23,38,-22,98,-45,-29,-19,-129,47,-97,-12,121,82,-87,5,42,5,-2,51,51,32,42,49,40,-62,
55,5,-18,-29,24,7,46,35,16,18,23,-50,-43,-17,-19,37,5,-17,35,25,-6,-94,51,26,-90,3,26,-152,-5,48,-38,-31,-10,4,-55,-93,63,58,-32,-42,42,-127,-19,23,-24,-27,-7,-35,89,21,67,
26,-31,27,78,-48,-5,6,92,-31,7,44,-26,18,135,-35,-51,8,-30,36,-48,0,99,-129,-21,-27,7,46,-74,56,-40,67,18,48,-21,74,29,34,-55,36,0,-15,0,77,15,-66,49,6,-12,25,-4,
-14,25,-2,-28,54,13,-9,-88,29,-10,-3,15,-76,102,-64,7,104,58,7,-2,54,-48,-123,-100,88,3,-30,-37,8,80,-58,-79,12,13,12,-17,2,-97,42,89,-39,-125,-18,6,-66,71,-63,3,94,-82,-21,
48,-25,-11,-8,-48,48,50,40,-27,105,-2,93,72,-92,-1,-97,67,54,12,42,-21,37,-74,-28,3,49,-19,-34,85,-108,28,-5,-11,19,-32,14,77,-11,-15,-27,69,-7,67,-27,5,1,15,-5,19,90,
-28,29,74,-20,-91,44,-32,-11,-8,-30,64,-26,84,-14,-31,-53,10,32,-63,33,-19,103,-50,-7,125,-68,30,-114,-29,-51,9,-6,-11,49,35,-38,81,2,48,-73,-103,-4,18,16,45,-80,-27,-25,-60,-2,55,
103,-3,2,61,31,-108,71,-72,-6,-13,73,2,-11,49,-5,-6,18,-69,130,14,-27,32,-39,-4,-16,9,-50,31,2,-22,-17,12,-12,-14,-19,-128,34,-22,91,36,6,-8,47,-73,98,93,-29,41,-21,62,
66,14,-29,14,-39,-53,-9,32,38,-56,-25,-61,71,57,22,3,-57,-36,67,-101,-17,4,-33,23,35,23,-58,20,77,-14,-38,-97,9,13,116,0,-60,45,38,-33,-28,-116,-45,90,11,-95,40,99,-55,-22,-72,
79,25,21,113,-10,-1,-30,-135,-8,34,3,39,95,38,-27,76,19,16,-15,-58,26,-22,-81,49,-48,-25,74,-31,-93,-29,30,86,-22,-44,-23,-36,-25,24,22,-50,-26,-24,114,60,42,37,32,54,-1,44,
-3,-25,-11,71,-19,-111,50,45,-18,38,-50,-32,-43,8,36,67,13,3,19,-9,-3,-33,-143,39,-59,-16,33,-59,-23,-56,18,-13,-32,16,-8,93,32,-2,-81,3,-37,64,46,59,27,47,24,22,-58,-40,72,
22,-60,54,66,15,-103,-22,26,-50,19,15,87,17,-51,44,59,-6,1,26,35,-92,106,-70,-29,-6,-121,-7,-60,107,74,-21,-42,18,-40,-47,77,-53,-32,-17,-7,12,44,-23,22,25,91,19,46,-19,56,
-56,26,-1,-2,-62,-20,-41,7,-81,9,-8,60,38,-4,17,-101,67,-47,-22,-7,-23,-25,-84,46,-74,25,36,70,120,81,-56,4,-22,56,-19,67,14,-87,8,56,-42,-34,107,-33,64,-34,-91,-59,-16,-71,128,
-1,32,34,-83,20,48,-8,12,-65,-20,10,51,167,-81,47,47,-40,62,-50,21,-15,-146,33,-10,-74,-3,56,-58,-31,-54,98,-48,23,10,60,-41,19,80,22,-39,-21,41,-4,11,9,53,19,26,-12,75,
-26,5,-12,-36,-37,-26,34,-29,-21,-38,-28,-43,-28,-46,40,-16,93,-113,-43,19,-26,-15,11,-48,55,26,45,68,-34,78,30,52,61,54,38,-22,32,-46,-61,-5,28,42,-10,46,-40,94,-64,71,18,-146,-62,
89,-70,-70,-84,-129,62,42,27,126,61,19,50,-34,-66,42,7,-15,-66,77,6,-70,55,-10,56,-32,-107,18,-32,12,91,-22,-24,49,3,116,55,43,-24,11,-55,-6,33,17,25,31,-12,-12,29,-39,-26,
7,-42,-31,-51,-72,35,124,97,13,-48,-40,-75,-52,-31,-51,101,-52,-24,-89,-13,6,20,31,63,-45,61,76,59,93,-11,-39,35,32,-74,57,-37,48,-51,71,-108,21,-30,16,32,-34,-10,-20,-10,-38,5,-42,
-54,-16,29,-28,-4,25,-30,21,-33,75,58,-24,50,-47,-73,-84,11,8,19,92,-42,88,12,-54,170,30,-1,4,101,-71,0,-3,8,19,-24,-91,-10,2,-26,30,45,47,61,-19,64,-33,55,-59,11,-26,
-27,-10,-19,-32,16,15,27,-137,51,25,-25,-119,-44,32,30,72,-23,74,9,-87,81,1,56,-3,-42,-42,39,48,22,-46,28,61,19,12,20,-55,-50,-35,-27,20,-57,57,-61,3,123,-55,38,-37,-32,-55,64,
-44,49,-75,-49,55,-1,-13,-3,33,-11,-39,-4,53,67,-23,79,30,29,190,-37,53,31,-39,19,-20,-7,-34,-22,-3,78,46,-30,-33,-24,-40,29,17,-27,-66,31,-74,53,13,45,24,11,5,13,-36,-52,
-100,4,-12,-78,51,31,-100,-44,5,-25,49,13,133,4,-103,-30,62,42,-46,75,3,-35,54,33,50,16,64,-44,85,-10,62,-144,51,-39,-49,-59,-23,-53,-66,-38,82,26,81,1,28,24,31,-7,-7,-50,-9,
-43,-22,59,20,-29,-24,18,-66,56,57,-54,23,37,4,32,127,43,-16,13,48,-23,70,-113,-39,5,-43,36,98,27,-105,-41,-17,-122,81,89,38,-42,-9,-99,7,62,18,-50,-17,6,65,27,-15,33,-16,
-81,44,-71,46,31,-29,-38,11,-56,32,-61,-11,112,5,15,-19,60,-68,58,33,130,-24,-53,12,-66,12,28,17,88,25,-37,-18,79,-66,-8,-77,-65,-22,21,-19,22,-5,86,84,-50,42,67,0,-31,-39,7,
13,-63,40,2,18,-60,-69,-28,-61,53,105,71,-6,24,-12,84,-28,-38,103,22,-53,-7,-38,84,43,-45,-67,-51,0,52,-15,-156,38,112,-107,-17,-53,142,44,23,-8,-8,-38,-33,-5,13,-33,3,25,16,
18,-10,41,-18,5,-47,-87,-34,33,-35,91,-28,7,-18,27,116,-19,5,-8,36,-68,-9,-92,129,26,11,-12,34,-32,-4,2,58,11,-52,-81,-79,-9,79,89,25,144,-57,-22,-104,-26,0,-8,-63,70,47,18,
72,-69,22,20,52,13,-44,-27,12,28,88,-38,-88,48,52,-51,91,-120,34,60,-23,-25,11,-47,-70,-17,62,20,25,27,-25,75,17,-123,-33,122,138,128,124,-49,-61,-64,4,-70,-114,-93,10,6,-15,-11,
42,12,-59,52,-30,-24,-15,48,-61,161,-82,106,47,-97,98,8,-76,-46,33,-50,-37,-67,62,-43,0,28,14,7,69,78,-43,8,-130,-11,27,48,0,36,18,69,-2,-76,43,-45,79,49,-43,-18,67,6,34,
0,17,19,-67,-10,-20,-38,-62,23,-8,-78,33,29,-66,48,-19,15,-17,-25,18,-13,-7,21,100,-5,-47,34,25,-18,-82,-22,-9,50,146,-32,45,74,-10,33,28,-145,-2,34,6,-11,18,16,-45,-16,-67,
24,-16,-56,-52,27,-51,40,47,6,-13,17,122,-56,62,49,-61,33,-69,-28,23,27,-44,33,-107,105,41,-86,19,78,72,-43,-79,-2,-33,53,-86,54,-99,-43,99,19,-4,-10,57,15,48,37,-29,-34,99,41,
2,-26,98,-44,-87,41,-9,-62,7,97,-16,37,-8,-27,26,-29,17,57,-52,26,-24,-59,4,-6,48,-128,108,-89,-11,38,-16,64,-49,-23,-67,43,68,2,86,-2,-7,3,4,-129,-25,1,62,-17,12,0,
25,-11,-6,-20,3,-31,103,62,-63,-29,-154,41,20,55,35,32,45,-48,67,-44,38,7,9,-37,41,-66,-52,-18,-18,-22,108,47,-81,-38,-60,-76,-40,81,55,-22,60,63,105,32,29,-61,31,-9,5,25,-33,
51,56,13,-20,3,46,38,21,-25,-50,-67,-42,97,13,-70,31,-19,-30,30,-11,-89,-93,111,52,61,-75,22,-9,-24,-28,-47,34,40,-99,77,-72,126,28,-4,-6,-19,-51,-18,53,-74,66,-40,21,-20,11,
28,-52,-57,-3,12,-29,-16,131,-45,39,-23,-22,35,4,32,91,114,-16,-43,-21,36,-10,17,-25,10,34,-1,-57,-61,65,22,-53,-17,-108,15,-46,0,-23,131,-6,28,27,30,43,57,-24,17,-42,-23,33,8,
30,-46,38,-39,7,12,14,28,4,-45,34,34,22,-18,-67,48,-23,-62,-96,-34,-7,-43,12,45,28,14,87,-1,-88,24,-64,8,-153,-29,-3,37,77,-48,73,61,45,143,-83,-81,1,-15,60,37,24,-53,
-5,-94,80,101,34,85,33,-111,-102,-49,-65,91,25,43,-28,-8,58,84,-50,-32,-10,111,-59,98,-45,70,-57,-121,-43,-89,12,24,3,-79,35,-56,102,55,17,65,48,-63,2,27,56,-40,-33,-8,9,11,-15,
126,47,7,-34,26,-31,2,121,86,-59,-23,-5,-60,-88,2,-26,-102,-20,-30,0,96,63,121,-51,5,-95,6,-11,-5,-79,-85,-37,-8,-22,-46,49,-86,41,94,-8,26,90,55,-25,15,21,-95,-10,28,77,
84,15,38,-8,18,-15,-64,-75,106,-71,54,32,7,-32,-19,17,-63,17,28,25,-18,-14,113,91,111,-42,-11,-94,-58,-52,22,23,-89,9,42,5,66,10,-46,-23,-32,27,-61,-25,-26,57,17,-13,40,-89,77,
72,15,73,54,-27,-30,-76,5,57,28,-17,30,-13,39,89,23,-68,-116,-28,10,-16,1,-101,-21,-4,-39,-5,-56,47,7,13,-53,5,64,60,14,-48,-86,-10,69,-59,-71,79,62,3,18,-74,15,34,102,
63,-4,-32,-19,65,17,-34,-73,-40,67,83,106,-84,19,90,-92,42,-11,42,64,55,-87,74,-51,-54,0,1,16,-51,14,39,-60,103,27,-53,17,103,-10,-71,-60,2,-49,89,40,-133,-16,-90,-1,8,-6,-20,
16,53,116,-31,56,-25,36,-20,-7,-19,19,66,-17,10,-61,3,1,56,-30,-30,20,-58,-31,-60,31,33,-38,17,28,21,66,-20,-75,10,31,-76,29,47,-61,-113,135,78,-40,-66,-4,18,34,58,-63,-7,
63,-44,-95,90,-58,9,69,-35,13,51,5,87,45,34,-99,-101,31,131,-3,23,21,19,20,-55,-58,-11,92,-67,73,-91,50,138,-74,-67,33,-83,-24,26,-23,135,-66,9,9,0,-2,-42,-5,-16,-16,109,-22,
11,53,16,94,0,-42,10,-90,43,-48,37,30,63,40,-31,-109,-3,-65,-36,17,-108,-25,-40,-15,55,-6,-8,88,75,14,29,121,-94,64,-36,-50,104,-75,-82,-28,-55,-67,-39,100,10,-40,33,24,-30,45,
-88,-75,10,5,160,-7,25,-3,-13,78,26,4,96,-56,-82,-13,121,-103,122,13,2,-95,-8,92,1,-41,17,8,55,55,4,-21,60,10,47,-44,-47,-27,-98,43,-17,18,20,-25,-38,24,-5,-9,-9,-1,-10,
53,17,2,25,68,24,-34,82,-82,-29,37,-34,91,23,-9,24,-25,-42,-34,1,-39,-51,-69,-53,-28,-37,31,51,68,-30,-21,22,43,-48,-17,-52,-7,14,-24,-64,-35,46,5,55,125,-97,-3,28,-33,64,
-44,-36,-25,-40,50,-8,185,35,60,-32,34,-44,66,-35,17,45,-43,38,-75,165,-80,-52,-59,17,-85,99,31,95,25,69,-80,-56,16,75,-7,-26,41,49,-22,-24,-94,-91,-6,-12,-26,9,12,22,80,53,-15,
-36,-7,9,-17,73,60,-47,-20,-101,-24,14,-15,84,63,-47,-25,125,58,-35,53,54,-67,-29,33,-191,-51,-75,44,6,-16,41,-23,-33,-18,-53,77,40,35,-1,-37,-56,-42,-26,96,-22,16,83,76,-36,-78,
81,13,96,-34,35,-40,22,27,-50,8,-23,75,-1,46,-69,-17,81,7,-7,64,25,-5,-31,63,-20,-29,-81,-56,-42,-34,18,52,18,3,9,58,-14,-12,45,-21,-51,20,-29,-47,-23,9,3,-20,-14,50,29,
-27,37,29,4,9,82,-30,20,0,-126,3,-61,100,-58,-13,-24,14,-47,14,65,-6,28,30,87,-94,-60,7,-50,61,68,39,-40,-51,-38,79,23,44,-4,17,-59,-70,-16,92,122,-81,-34,61,7,-73,-82,
-66,83,85,47,-83,31,-15,-54,60,10,17,-37,54,42,-18,45,-33,-13,114,-179,-6,103,-2,-12,-11,2,27,-39,12,-56,37,18,-6,21,-34,-23,79,3,0,-27,-15,21,-71,-58,20,-3,25,44,-23,43,-80,
47,20,26,8,55,9,47,-6,-32,33,21,82,-58,65,78,-21,-31,-22,-30,-28,18,-20,-118,-16,47,-4,39,-14,43,46,-42,74,43,-45,26,-38,-59,-98,16,101,44,58,54,-92,36,55,-7,-81,-39,-183,
43,119,23,-65,-92,26,8,-27,73,17,75,-67,-105,-39,87,-70,5,3,44,-53,-35,40,42,-29,100,55,0,-19,-55,36,38,-35,-18,-4,25,7,-13,-30,-50,17,-69,56,107,-65,19,-81,30,33,-74,48,43,
56,-4,31,48,31,18,62,54,-56,13,42,36,-9,-34,59,-58,-81,34,-25,16,34,-41,-2,-19,-43,75,20,70,-3,0,-10,-77,-22,28,-25,-64,31,-4,-55,-6,65,-25,18,-21,-27,-25,141,-99,25,-110,
27,63,-76,68,37,-20,2,49,17,11,-8,-60,13,16,34,-9,-46,33,-60,70,-43,50,-109,95,53,53,-10,21,13,3,-2,-92,-24,-7,-4,50,34,-68,16,-6,-19,-10,50,17,-51,-64,31,8,76,99,19,
35,5,-43,3,-33,15,77,116,-20,-35,27,-67,-8,-7,-14,-20,31,-37,-11,-88,5,-17,-41,23,-2,-33,33,-14,-73,57,44,-15,-7,-33,28,35,80,-24,33,-2,29,114,-26,-30,-136,-82,-54,-1,2,27,
-2,172,-47,-69,3,84,43,-89,2,13,-34,3,6,29,82,-38,5,-2,113,-34,36,-80,89,14,-78,-6,28,38,44,-42,24,-55,-45,-69,-32,14,36,-14,-7,77,17,-17,13,-9,25,8,-68,-34,91,-21,32,
36,27,24,36,12,-80,21,-28,55,17,-61,1,-46,18,8,151,50,15,-73,22,-81,-98,-88,75,-5,-42,-31,-9,7,-39,78,16,18,71,-21,33,-26,20,-99,-5,34,75,-20,95,-31,-13,-52,6,-123,-10 };
 
  double min = inp[ArrayMinimum(inp, FilterDepth, 1)], range = inp[ArrayMaximum(inp, FilterDepth, 1)] - min, kof = 100.0 / range;
 
  for (int i = 1; i <= FilterDepth; i++) { int j = MathRound((inp[i] - min) * kof) + 101 * (i - 1); all += mas[j]; } 
 
  if (all < 0) { all = -all; range = -range; }
 
  if (all < Optimization) range = 0;

  return(range / 35);
 }

'IT관련' 카테고리의 다른 글

일목균형표에 대한 요약  (0) 2023.03.07
메타트레이더 EA - Winner M15  (0) 2019.09.22
메타트레이더 EA - RT IlmokCloud  (0) 2019.09.20
메타트레이더 EA - Named Pipe Sub  (0) 2019.09.19
메타트레이더 EA - Named Pipe Main  (0) 2019.09.18

+ Recent posts