0111111100001001011100000100111100001000100110101110010100101100000000001100100101011101011110111111110000100110111111101000011001100101101010000000010111100100101100100101100001101111110010001100110100001010000100010010000011001001111010110010000101100000110110010000110100001110100100111010101010000011011001001001100111001100011010001110100110001000111111001101010101100001001110110000111001111001 0101010011000100101001000110000111100011100101111001000100001010111100111101001110010001001000010010000011001011011111011101100001101000011010001111010111110011010110010110000110110101010111110101100000110110100111101100000111011111010000100100100000111101000100110001100101101111100100001000111101011101010110011011100001101100001110101011001010001110100011010110001110011010111011001110110001011011 1100100111001001101111010100100100000001011001001001101111111100110011101000000110100111100101110011010101011100001000111010111011101010110011010010111010100011010111011111000010000111001000101001101001000100010001001010110011001010011110111000111011100111011111010111110000111001101111001110010000001101000110110011110111011000011111000100000000110010001000111010001101000011111100000101111010111100 1101011001101100011011110101000001000001011000011010111110011011100001010011001111000011110111010000100101100110100001011000000000100111110101111101111111011100101101001100011001111010100101001011010110101000000101011000110101111001000010110100001101111011111001011010011000001101000111000100101110000111000001011101110001010101010011101101011111111001001110011110010000000111010011110000100001001100 0000000110010110101101110100100111101101010010000111100101101100000001011000011111110100011010011100001100101100001000001010111111010010110011001011000100111101000101100111101100000000010000101010110101101110001101101001100101011111100110011011000000111011010101010000101110111001110100011110110111110010000101100101011110111001000011100100000101101110110011000010100110001010011100001001101100111110 0101101111111111101010110001010011110111111010100011100000101000010001101000010110000101011001000100001000101110010110011001101010011111001010101011110111010000111001100001101100101101011010010111111000010000110111111111010000001111010011001011110100010111111010001001010011001110010111100011011001011100111111110110100110100011110111110110001110010000100000100110010010001110101011011100110011111111 1011000111010100101110111111110010010000011111111100000011111001101001000100001010001100011001110001111011100000110110110110010001101010001011101001010100100011001000110011001001100011110000110001000110010100001011010110010010010011111111000010001110111011111101101011001101111100100001100001001111110100100100011100011110100011010101011110010000101111010110101010100000000001001001010100011011010110 0011111110000000101010100100110011111101000010011010010011100000100011101110111011100000000111000011001111101100011010010101000111100100001011101000011100000000101000110011101010100110000001011001100110100001001101110110010000110011101000010100111001000111101110011100000010100110001001101101111111101100010101100010000111000001011001100100010001010111001010010101010101100111010011110000100101100001 1111111110000001110111100001010011101100011110010001010100111011001011110110100110000100110111001100110001011010010001101110111101100010010011000101001010111011111110000110000010011001010111000111010100100110000001000000101011010001011111110011100100010000010100100001001011010011011010000100111010100101100010101111001111110000101101000000100010111111011000111100000010000011001111011111000011010010 0110001001001100110101110101010010101001001010000111011001000000111101001011010110010011111011110110110001100000000000110000111110011110010010100000110101110100100011011100101100101011110010100100011111110100100111101101001111000000100011010010101101001101010000110011111010111001111111010010010000111101011111111111011000001110101111110001010100011000101001101011000111100001000110010000010011101000 1101100110111110110010001011011100001110011110101011001101011110110110010001001101011000100111110010100110111001001011110101010101010000111010001111111110000101010111010011111000010111111110010001101101011011111101000001111010010110100001111101101010111100111100001011011011010010100001100100100011101011101110010101001001011010101000010010110011110110111100101101010011111101001110001011011110011000 1001011101101101111101011011110110011011001110101100111011000000111001111111110111001011000001100100110000001001011111010000111110110111100110011110010011100110011000100001011011010010100100000010100000110111000111001111110110001101001101000110001001101011010000111011001001110110101011100011000011010110001100100000100011010110101000010100000010100100000100011100110110110000111000001110010101110001 0000101110110000110010100110010000110101011001100111010011000010111101110110010010001011000011000110110111110001011110001011110001101010010101101110111001000101000100010010011011000111101001001101011110010110011100101011100101111000001001000110001010010111010011001110010010111111010011110000001110011000010010110001110000110101111100001111000010111110110110000111111011111111000010010001110000101010 1001111111110100110110000010110010111110111011111011011010011111010001001010111000010110100110001011111110101111010110011110101010001011000100100001111010000011011000011110001110010111000101111010010011110001101010001010011110101011000010100101101110111010000011110010010001010101000101001000011110001010101011000010011100111010011101101011100000001111101100110100110101111100101001001001100101100011 1111011011100111011001000101110101011111010010010010000010111101101011010001111010110011111110100111001010011111001010011001101110000010010110111000111111111010001100111101110110110010010101101101110100010001011101000110001001001111010010111101111100000001100110010011000110110010010000011000101100000010100000110101010101100111111100100100010010001010000100000000100100001000010001010100110111110100 1001110111100001100111010100110001010100000000110011010001011100001101101100011111011110100010001110100100100101001100000011000010101100110101010101101100100000001111010000000101000111110110001110110111101011111001001001011110101100010111110110000111001010111010100011000010110111101110110000000011101101010110111001010100101010110111000000110111001100001110011100100001110111100011001110101101001000 0111111000001110111110001010101000110010101100000101001100100010101100111000101111000111000010100111110100110010010001110110000110100110011100100011100110100000001110000011101101010101111001010001101010010101011110011100110011100011001111001011011110000011000100010110000111001000001100000011111100011101010111000101101101101110010000011100111001001001111101000111001011111110011111111110100001101001 0000011010011101111110101101011011010110011111001111110000111110000001100000100101110011011000110111011110111000001110101000110100011000011111011000001110110001010000011100001010111000100100001111011011010010010101011011111010011100001001000011010000010010010111000000110000000001001101111110001001111101000000110101101010000010100011011010001111101101000001001011110000110000001001000000100110011100 1010111000010000010000110110001001000011010101101001111000010010011000010100111110110101111000000000011100110111001010001101110001001101001001111010101100010110111101010010011111111011010000100011011110100100101111000010011101110000001101011100111001100101001111010111110101110011000000111001111110111001101001000101111000010001011111101111101100101001000110110000001011100111111001011111010011000101 0110101000110110111101100101101011101010011111000111011001110000110110011010000011011001111100001011001010011101101101101110111001001001101101001010101000011111011010000000011010111000000000011101100111001110111001011010001010010101001111111000010000111101010011111000100000010110110101011000011001110001011010101100111000110000001101010001110001000010011000110110011100000010000100110000001011010101 1101001101111100011110111111110001000000001010111111010101010111101000000011111111001100000010101011110110001100000010000001110011111001011110011100011010101101111101000101100000101000000001000010000100101101101100110010101111111101110001011010001000011001110100011010001010101001001000001011011010000010100011011101001000111101001101101101010100100101011001111110100011100110011110011010111000010101 1101010111111111000100101010100100000001110010101011111001110000101101111101100011010000000101111010011101000010101101010110010001110100000100101011011010100010000100111110000001011111111011111000011011110010000110010001110010001111000001010111011111100110011001000101110110001000101100001011010011010001011010100001111111000010011101001011011110010011001010100101010101010101100100010101011101000010 1001110001100000001000110011011010100000101101100000010101010111011001010011010110111100001000010110110010100101010011010001001111110101101101011101100000001011001011010011110111011011101011010111111111000100111010111111011011110001000010001010011011111110110011111110110010101001111010111110110110111010000101110011001001000001110010010010011110011011110100111111010100100101111101100010001111110100 0010111100011100110100111000110000101110101010101000111010101001100101101100010010110101001000000101000110101010111111110100100011000111100001011001111001010110010100100011110010001011111001100101101010000000101110111000010010010001110101001001111001100000011000100000010001000010100011101101110000110101111000100011111100100101100011000100011001010110101110110110101001000000110101111011011010111010 0001101100110000100011000001111000001111101111101100010100010111001101000110110111101000010010101010000000000101000011011100011010010001011100100011011111100010110101100001110101100011001000000000100100000011101011101000111111101010110110010110011001001110001100011000010001101100000110111111011010010000111001000001010011110101000000000101100100001101011000000000000001000010010110110101100100000001 1000011111101001000111110110111111010011001111100010100100100000101000001110101000010111010101001110010101111001100011111100011111110010110010110010100011001010000101011100000001000111010110111001100000001101000001011000000000011011101001000100111000011111100111000000011000010000001111001011100000011100111010011101000011010010110110000100101011101111101110011111111110000100000101101110111000010101 0101001111111001100011110101000101110010100110001001110011000001001001110111010101000011001001001110111111111111010111011100101100111000101001011100111100010111110000111111010011000111011011001100000101111001010111111001100101101011001011110100100001010101100000111010101101011110101111101000011010100011000101010001000101010110101101001100101101111110101101010111010111001110111111010010010110000000 0111110101001100011011110010011110010000100011111011011000110110111001010000111000110111111000101101000000000000001001001011001110101110010000001011111101110110000111001010011100111000010011000100101111011001011010000101110100011010000010101111111111001000110111110001010000111111110011010100110110010111100100111011101101110001110000011001101000000011100110111010111000011111110000100001010001111000 1001101010101111011100110011000111011011110001111111100000101101100001111100111011110100000001011011011110100010100101100001000001010110010011001011111110111101010010000010110011110000011111110011110011111010111101011100111101000111010111101110101110111111011000011010010001001000111000111001010110011010000100100001011101010101000111110111011001110011101111111110101100101111011101011001011110100011 0110101011011101011000011111000110000101101110001001001011100110010100001111101000110101101110101100010110011011101001110000001010111101101001011011101011101011110101001101001011000101011101000001100011101001110101111011001101011111111111101011100100111100110101100110011011011100000000101000110101000001111010001101011010000000011000110110011101011110101100011111011110001101100111011101100010010010 0110001111100010111100000101000110111110100111000001111000000100011101010111111110001100010110111110110110000101000010110011011110010001011101111000100001110010000110111000000110011111110011100110001010111001111001001011100110110111000100010100010101001111100110110110110001010001000010000111100011011010010001101011101110010101001001000100101111001000000111110011000010000101110111000000010111100010 0111111101111010111110111101001001001001101001111100001110010001000000010111011110011100111011110111001111110001000100010110110000101011011001101001001001100010101110001110100010011111111010111101001101010111110001100001010001011111001101110111111110011100000100010000101110001111100001110111111000001001000011111110011011000110100011111000000001111110011010110000000011110100001111111010111011101101 0001000111111001100110011101001011101011110110010100111001100000111111100001100110000110101010000011001010001100111011000111110101111100100110100010010011111101000001001000000111001100011000101101010000100001100011111000100011011101001000110111100000110110000110010010100111001101111110100010100110011101110011110100010100111010000010010111111010011000110100011110011011011000111000101010111000010111 0010111011000100010110011110001110011001011100010110011110101110001010101110001100011110101101000101011011010100010110101000000100111100101010001101100101000010010010001000011101111001101111110101011010100001111111001001100111110100111010100110000110111001100100110000010001001000101111010111110000000011101111010110101100010000110011011001010000001000011111100100100110011101000010101100011111010001 1111000100010110000001101100011001111101111011110000001000010100110010101110000111111010101101100111000101111101011110000101101011110100101111001011100011111101011001111111111100011001101000000001010110111011001001010010100011000000011100110100110101000010101010000111100101011101010110111110111001101011100011011010010110110101101101001001011010111101000110011110101001011000001100100101011111010101 0010101111101010011110110001110001111001111110010101111110010010100111001101100000000100101110100010111010011111101001010111111010101010001100001010010011110001100011110011100001001110011010100101010000011101001011000010101100110101100001111011101100010111011110101001000110010100001001111101011011010101110111101110000011100110111100111101110001110010100111001001001100101001011001011000000000000100 1010110110101110100111000010100001011100010011101001110101011001011000100110100001111001011110111100101110100010111001000100110110010010100101110111110010000100011100110101001000010101100110111010111101001101110001101110010101101011010011110110000111101011101010100000111110001100011000011000110101111110100110101000011110100111100001111000111000000101010010110000011111010010100111010100010000110111 1111011110000001111100100001011000001000001111000100010000010100100000111010100110110010010100111000100011100101010001011101010110001010101001001110100101101001011010011100010001110100010111101100001111111001000101110011110011001110000001000111111011111111101011000110011110101000110000110010111000101011011000110111011000101101010111110011110011101100110110000111010110001110000001100111110011111000 0001111110101010101011101011010001100010110101000010011110101111001101111111001110110110010011010000100110101010101001111110111110011000000110100010010111100011101101111010001100001100001111110010011000111010001010001111110101011100010010000011110101001110010001101000111011100001000010111000101010101000011000111001101111000111110111001100010011100001110100001111010011011101010100100100000010101011 0001001111110101010110001101100011000110101101100011100011101101101101100101101001001111011010011111100100101010010101010010010011100010001011011100100010100111000110010010101010011110011111101000100010010000110110011110111000011010111001111001111011111010010100000000001110110011110010100011011011111111001110011011010010110110001011000011100111111101101000100100110110110010101000110000111111010110 1011100011101101001001000001100011101010101110110000001101001110011111001001110001010101110001100001001110011011101000010001100101111001000000111011011000111100111001000101111101001000000000100111010000000101101101010110011100011100111111010100100010000101111110101100011110011100001011000111100110001111101111111010101000001100100111001001111000111011000110000110010110010110000101000111100010110100 1111000001000011001100000010100110101000111110111111011011101010000011011100110001011001110001101100101110000100110110110010111101100110000101000000000110001101000101000111010111100011101010100011010001110101110110010111010100000100111111111100011110000001111110110001000000110001001010110110110001100110001000110111110011011111001010001101001101010101001010011010111000101001001110110111110010110001 0111000101111111111000110110010110011000111100010010001101001011111010000111100101100111000011001010101101101010011011110101011111011100011101100111001011010001101010100100000111111100100000001101101111000011110000110001100100011001100011101010110001111011010000001100111010011101100101011101010100010100011000111111111111000101100011111101000111011011101010101001110101110111101001011101011000010110 0001011001010100011000111100010010101111000011111000011110011111111101110010001100011000001101010001010001111100001000110011101011010100011000110100010100010010010001100111010110011100101110110000101010100010000000000111110000101101101010001000001111000000101101010110010001101001110010010110000010011000000101110110100110111111000111111000101101100010111100011110111100000111010011111010111111010110 1101001010110100100101110000110000110001100101011110111000000110110011101100110000110010111111011010010010110101111001101001001110110110110110111000111010001010011111101100101001011101000101100110011001111110001100101100111110111110101100101001001111010101100010110000110010000001001101010010001000111001010010101101111000001100011100000111100011000001010100110000100001011100010010011110001100101010 0101101111001011001001111100000111001011110011010001100111100000010110010101111101110001010010100110110111111100110101001000010110100011010010100010111010000111000000000101010011101100000010010001101011000111100000001001101010001111100110101111111000011110001100110010001110001000001110001000110100101010110010101110100110010100000111110100001001110110110100000111110100101000010010101100111100101100 1110001001010111001000011010000010011101101100111011011010110011101111010110010100000001110110100011100110111011110000010100011111110101101111011000100010011111111110001010001110011011100010110010111010011000000010000010001000001111010110110100001000110010100011100110001001011101110001110111010111000111001011000010010001100001001100001111101110011001000010001001010100011001011001101010110011011001 0001011101000110010101110111010111000000111110001010101011110001110001101101010001001100111110000001011101110110100101110011010101110110011010110000110010000101101110010011101000101011110100111010100000101011000001011011110000111101110111111010010001011000100000110000110110101010101000100100001001101111111111100100010010100001111001100101101000000110001000011010010101110100110101100000101111101101 1011011010101110011001111000111101110101111101010010001101111000011101101111100101010101101101100100111111011000010100011100101111111111101101000000101111100111111100001001110011111010110001000111111100001001111100100100011100101000110011110110100111011110100010000000001001100110101110101110001010010010010101110110010001000011010110011011011100100101100111001000100001001001010101011011100010011001 1110111010011101111101001000101100011111100100011100110110100010111010010001101111001011111101000111010010001110000001011010001101000011100010111100001001111100001110100011100010010000010000101111101011110001000111101111110011100000001010010100101111100010110000001100100101000000000010110101111110011110110001101100010111001110011010001011010110100101010111011111011011111101011111110111110001100000 1011110000011001110000111000001001110000010101000111011100110101010011100000011110110011111111101111011101011001000111011011101100100010110100001010000101000001110011010110011011101101100101101011000110001010100100100001001111110000011001010110111010100000101011111011110111100011111111001011000011011100111101000110010100100011010010011111101100111101000000101110111101010000111000100101101100011011 1111101110010101001010010000011001110100111001101001110001001110000110101100010110011110011111001010100001001011011110000000111010100000010001001100011000010001010111111011011001011001111000100001010000010010111101011000101011111000101100110011100000101010100110011010011010101100010110110101000111001111001011110011000100000010001011101101011011001011001110100100110010101100011100101101110011000010 1100010011101100010001001100110100010110100001101101100011101100000101010001000100110100001110000111111110001001000011100100110101110110010010110001001101100001011100011010010001001010001010111000010111110101011011011111000000101101100100100000000111101101100101100100111010010110111100001000110000001100000101011100011101100110110001110010101011100001010000101111101111000010000010101101100101101001 0010000101001001010101100100100011010100110100001010110100100111101101000010011000110011010000111000000011111101101011111100000101110010101100001010101100110110000110010111010111001000101010110000011001110100101000010100101001000000001010001011010111011101011010011010100100000010000000010001110110000111101101010010100111000000110001101100111100110111100101101100100010011001000010010001111000011001 0000101001000110100010010100101000001010010001111001111110110001000000001011010001111010110111011110010100101001111001011001110000101110011011010000011101101111011000110001011101001101111011111001010111111111000010011101100010011110111111000011100011011000001010100110100000110110110100000100000010110010000110001000100101111101101100000100111100010000001100100101111010110110101101111001011100100100 0010110010011000101111011111011101110000010111101011110000001011010110100000110011011111110001011100110110111111111000010011011011011001010000000100110011000111000111000110101110101111110001111001101001001011000010101001111000010100000101000000011100111001100111101010000011010000110011011111000101101110010011010101110010101101110101010000010110011111001101001010100000000101010000011110000000110110 1000110001001010110110000111101111011111001100110010000111001011010010111101010010001001000111101001010101001101010111000101000001011000001010011010011101100000011001110001101111100101000110001111111100101001010000011100011111101001100111011001011000100110010111011100011101010000110001000011010110011000000101101000001110110011001010001010101010011001010101001010011001001101111100100010001101100001 0101100110010110010001001110111111010100001001000011001111110001101000001010110100010100111010001000110000000000110110110010101110000101100001001100011010001011010100010100101111010001010000001110100111101000001010011100001010001000100100000101100101000000101100100100001001110110111111101110000000100000001001101001101011111010001111111111000001000000010100010011100010101010110100011111010011110000 1001100001101011001001110100010100010000111110100000110101011110101100101001101111000010010101100010100111010101001010000000101100110011010101001000011001010110010110111010011001100010001011111010000000010000110001110000100101111000100010111110100010110101001000010010000011101001011011110101001011001011100010001010100101010100110000000110000001001001100100111001010100111110010010011111101110111110 1011100100001110011111011010000110100101100011110011100111111011010000011100101001110111000101101011101110000111101011111110001111111011110000001111111101001010111100111110100011110000111010001111010010000010000001010000101101001110001000011111100100110010111000110010010110010110011101000101111011110010101000011110010110111010000000101101100000110100000110000000001011000001010000000000111000111000 1010011111001101101101100000001001111110010010011100011001010001111100000000110101110101110001001110010010100101100111101001000001000110101010000001111000111000111100101000011010110100100011110100001111000110100111110010000010110101101001010110100111010000100010101100101111000000010111111001010101101000111100000110011000001111110011000011011100001111100111010000101001111101001101011010101000000000 1010110100010111100111110110100011100011101100110000110100010011011100010001011001000011000100100101100010001111010111010110100011111100101110100111001011001011010001000110101111001111111010101001000100011001000100100110110010001101000110100110001110111000101001110010000110100001111001110001001000111100000100010010101001000001110111001101101010011011000001101000010011011110100011010110001111000010 1000110001110110000111011000001101101101011111001101011010010000011000101010101111000100111000000010001000100000000001010011110100010010110001110010110011010100110001110001111100100110110101001000110011110001000110111100000110111011111110101011101100010100000110010001011111110000110100111110000110010111011111100101110101101000110111001111010100011011001111110100000010000110111111110000011111101111 0110001111111101101000101111101010001101110101100110100011010101001010101100011011010110100100000011110111010011010101101101010000011010011000100101111111111001100100010001110011011000100100111000100000111010000111111011011100101110000110110111011111000110001100000011110100100001000010110000101101010110011000011001001100110100110110001010000011101001011010100001010111111001000010000111101001111100 1011001111011111010111100110010110010110011100010001011010111110000110100111000101110000110011110000101100101100111001010100010011101001101100010110111110101110010011000101101110110000100010100111110001111110011110110000001101101010110010000010101111001001110011100101111001110000110001111110011001111011011010111111101010001101101010100000111111101100011101010000001110101111011100010001001111111011 0110010110000111011101000001000001000010011101111011000010011000001000001110010000000111000110111111100000111100110010111011111001110001110110110011011010100000011111101001011100011000011101010110100101010000101111111001111001100001001011011011110100001110111100110000011111111101010011110010001111100110000100001001010111110111010101110010001110010111111110000010001001011011110101011111011101100110 1111110100110110101111010010100111000000000000011001001101010101011101111100010011111011000001000100110010100100001111011000101000010010011111000011101110100111101000011011000111000011001010000010010100110011011100100001101000111101010100001011011100100101001010111100001101010001011000100100101011011100000011101110100101110100100000111111110000001000000101100101010111101101101010011001001000000111 1001110111001101100100101000111001110101111011010010110010110101001110010101000010100110011101010001110010000111111001011101011011010001010010010000010000001000110101010011001011110110100011001111011111011001000010010011010001000100000010001100101111000100110010000110101000100101101101000111011100100011110001111011111111010001101011110101101101111001001100110011001011000101000110111110010011101100 0101000110001001010110111011101101100110110100110101011011101100100010101100001000010000011001110000100000000100110010010101111000000100011111100010000011100101000000000101010110000011110110111011001111001111101101000000011100010000000011111011000100110001110110000000001000101011110010101110011100101001000100111001101111100111101101100010001100010110110000001001001011000110100111110011110000001111 0111100011111100001101100101010001000101110000100110110110010001010001001001111001011010111111011110010001110100010010110111001011100001100111000001011101111010101010001010000100000110100010101001010000000100100011001101010100001101111000100010100001111101100110010000110001001100001111010111101000011100101101110010100011100101101000001101000100010011010101001110010000110110001111001010000110111101 1011011010100110010110101000110011100101101101101010110110001110000000000100100001110000101111000101111000101010110001100011000111010111100111011010001100111101110011000011111001000011111111101000101100110110101000101011000111010010111010100000000111001011111111100010001011100000000110111111011100000100010010100000001101001010100100101010100000101110000111001111100001010010111110101110101000010110 1101010011010100111110100111010110011111000111010001011001110111100000010101010100100110101101001010100010001000011100111000011101010011101110011111011000010001001100011101100000000110111011100100100111100100110110110100010110000001000110101100111111100100011111000000001010011010010000000010100001101011101101000001001111001001011110011000010000110001111001000000111000000111011101111011001111100001 1011010111101111101110111011111000000110110001000001110110010111111010101000110100100100010000100010010111100110000100010110011001011011011101011100101100011001010001010111000000111110001101101001101010110100010100010000001011011101100100101000110010011000110000011011111110111111011111110111101011101111001111010010110011100111100000001011010110110100110010101110111011111000111011110110000000100101 0001111000100110111011110010100001111000000100000000010000001100110001101110110101110100011001101001111011011110110100000011000101110011100100010110010010011000101111101101101100011010011110011111010111100001101110010000110101011100110010011011101100101101010100100111001000001001100111001001101101110100001101001001101100001010100111100101010111000100001011011011101001111000100001001111001101111111 0111100101101000011001011111111010100110011011011010101111111010110100101011110100011010001001010011001010010101100101101110100101111100010001101101110100001101011000011000000111000110011111110111011101001100100111001011111101101011100101011100000001110010100001101000111101000110101101111000100011001100011010100000110101011101010000110011111101110011111000111011011000010011100111110100010000100110 0111010101110100100000000011110001010001100111000101101110010110011110110010001000010111111110001110011010111010000111010110110001010001000110110010100101111111101110000011010101010111010001000011001001000100111101001011111111001100101010001010010101101110100111111011000111111001011110000110111101100100111011001010101011100001011000011111101011111001111111000001111000011100001011010100111001111000 0110011101110100101010110000101101111100100111001111001000111111011010011100000001001000001101111000101110101011010000000000011001011010001010111011110010010110111010111010000010111011101010111011110001011001000101010100101011010100001110100000101110110011110110110110111010100111100011010011011101011010101101010101101111111110011010110110110111100011100101000111110101000111011101000100001101100000 0110000000111010000001100111011100111010100110101101111010111011101111010011000101110101110100011000001101001101111001010110100110001101100000010010111100000101010101001101011100101100010011111110111100110001001101110010101000111001100011100011010010001011000100110011000001010001100001110100101101011101111001101011000101110111001110010011001101110100100001101010110111101111110100011000100111110000 1110100111001111001000000111110101000001110001110100010100101111100010001000000101001110101000011100001100011110110000111100111110011001001000101001100111101110010001101000111101110111001011000101011001100000100111010100010001011100100100101111101110000100011101101111101100011011000111011010101101111111110110010010000110100011001001100001110010010010001111111000111100001010011001011111001010110111 1100100110101101110111011101101101110001000110011110101110100001001010000111011110011000000110000011000010000011000100100111001110001110010000111010100100101001111001000101111010001010100100011101100011001011110111010010101011000001010110011100000111100001010100000100111000000110100011011011001011101000011111110111110110000111110101011100111001111000001000100111111100110111101101000000010110001100 1110011011100000100111110010011001110010101010101011101101011111011000100110110101110111111001001011001110001111010001111010111110101001100001011000000010001100001101111011011100111111011110101000000111101111001010010110010111001110011100011001111011101111101100111110001010011010011001001011000111001010110101011111000001111000011110111110111110000010010111101101110101001110011000101101101101111111 0101001100010110111110111111101010010010100111001101110000000010010100010001011011000100100100010000010110011101011000001101001000100000010101000110111010001101010111000001110000111101000110101111110010100111101011101101101111001000000100101101000100000111000111100101000101110101000001111111110101010010111111110110100011001110100110010000000000010000101011101000000100011110001001001010000000000001 1011000001010011000000111101010101111010001001001001100110011110001000111010010101000011111000101000110111011110010110100111100001101101011010010101010101100111011010011010011010000100110001110000110011000110000101100001000100010000000011100110110110110000101100101111100110001010101100010101110011111011110010101011010011011110001111011001001001000000010010111000011011011000111110010111100011101010 1000011110101101101010000101100100010101001011110001100000100001010010110000000001001011110000000000101010011011111010111010010111111101110001100110011011000000000111001000000001101001111001111101100010101110101110001011010111001100110101000011000001001011100001001100000011000001100100101111001100101001011100011101111101011011110010010010001011000110011000011111110010000011000001001100011110011010 0000000001011000110001101000100011011000101110110111111001100101101101110001000001100111000110011100101111110011100101011100001110110101000110110000100100100010110101101010011100101100001011001111010001001101010011010000011010100010011001100010110101110010110101001010111111010111011100001110000100111111100011110110101000100001100000000100110001110100001101110010100000100000101111000010010101101111 1001100001111111000011001001001111001000000101101011001111110011100010010011010110010100101111101001111100000001001111100000011111101010100100110101010101110000101101000000000010001110101101011100111111101001001111101000110100010000100110100000010111000111010010000010000000110000110010000001110000010100010111111100100001001010100100110001100001000110101000010100100101110110011010111001000011010010 0010000100101000100101101001011100110110010101001111010000000101111111011101011011110110110000110110001111111010011110110100000100101001010000100100111111101101101111111000101111000100111010101010001011000001101100110110101110000000011100111110100000100110011100101100011011010110111000110011001000001011010001110101101001111100101001010111010110101111100110101010010000000010110010010001000000001111 0001011011011001011010011010101101110101000000111010110110000110010000011101111110100100100011111011010100111100100111111010110011000111101000001101101001100010000011001100100001010011111111011000000011101010101101001101100101010001111011001000110011000111010011001100000010001110111000010100110100110011011110101110000111101100001100110011111000000000101101100011101110110001011011000011110100000100 0010100000100111110001100100100111010100100010111010100000000101011101100011101001010001011111010010011010101010111001111000010001111111010011000001100001101001010000000010011100100101100001010000101011001100011010101010011111101100001100010111011100111011001110001001010000101011110000000010011111101110011111010001010000100011100001001010011101000010100011000001111111101000110111111010010010010111 1101110000101000000101111101101101101011000110000000111011001110001001100111100011110101001100101011110111101111010100011010101100110000110101010000101011110000111000110001101111011011011110101100101001001000100010001110010111101100100110100010011001101010010001010111111010110100100100010001111000001110011001110101001010010100100110011110000101100100101101100011011001001101110000101010000000011111 1010000001000100111001100101011011010100011101000011111010110101001100000110000001101001010001011100110001111001000000100011110010011000000110011110101101001001001000110100011101001111101111010101100110010111110010101101101011100111111100010010110010001011011110110111110010111000101111111101011011111110001100001101111010110001101011101000011001111011111110110100010001000111110000101011100000100110 1011110000111000110011110101101010101100110110110110000001100111011101101010010110000000111110010101001101011011011101111010100001010010000100110011000001010001011011010001000010101001101000010011000111110110011000100100000011100111101010100101011000101101010001101001100000000000110100011001001010001110010001100010111001111000100011000011101011000110111010000011001101110000101000010101000101010010 1011101100011101001011100110111100101010111001000011001000000010100101010111110100110100100011101011000010000010000100100000000011001011100001011000011101100100101110101110000011100011110011010011011010011011000101110100110001110011100001101101100110111010100011100010010100100010110100101100100011111000110010101011011101010110010010100011010000000101100111011110100100100100100101110111001000111001 0010001111010111011100010010011111110110001101101001011001000111110100100100100010110111001101010000001111100111101011011000001010111010110010111010010010010110100001110110101111110001110110111100001001011111001100000000111001000100100011111001100101011011111000101000111100111001010110001100010010110011001100010011001101001110100011011000011010110000110001011111100111101110101110101000000110110001 0111001000110100011111110000001101110000101101111010000100100000101101010010000111101111101110101100110111011001111001000110000001000110101100111010100110101111000011001001111001100000100100110001111101000001011010010000101001010010001111100010010010101001000011111111101010011000100000011001000010001101011011110010001001110111010000011110101001110110100000010110000100110111001100001011011111100010 0111001000110011111000011110001101010111110011000100110000111010010011010001110110000010111011010010011000000010011101000000100000000100001011100100110101010000110100111111011001010110101110010111000111000010100100110101010110001100011100101110000001001000010000011111100100110001010011000011001111101110000010001111101011010011111000100011101011100111010101001000100010000001011100100000001110111111 0010010110010011111111011101000111101110110011000000111111001111010101100100110100111100110001000000110101000011000111101011101010100001110011100001000111010101011101101010001100110011101101101000101011111110111111000000011101011100111101101001100000100001110000001000001111101001110101010100100010000001011011111000000011001001001101011100110011110000110110101011101110000101011011100110000011001110 1100111001100010011000100010111111000100001001011110111000010110001010011001110010101100000100101110101111011110110001011011100111110110000101101101001100000110000010111100100000000000000010101010000111011011110010000000100110110111101111001011010000001111001001100010001110100101010000011001011010010111101101100001111000000111111000100001111111111011100110110101010110110110100100010101001000101011 0111111000100010110100001000110010100010100010000101010100111000011011011110111110001111000101000001000010010101110011100101010100011100100011001110010011100011100101101101101001101111100010101111010011100101110110011011111110110110100011101011001001001101001011111001010011100101010011100101011100111001111101111000100010100101001111110100111010101011100100110100111011010100101111101011010001001110 0111010101111111001001011001111011011111011110100010110100110000011111000001001000101100100011001111110010110101001010100100011011110000110011111111000001001100000100010101101101111110011011011111001100001101010101101001010111000010101110110001110110000011110111000000110000111101011011011101011111011001000001000110110011011100101000001100010011110001101101010010101101100100110011011010110110010101
cTraderプラグイン

cTrader用LINE Notify代替通知方法

3/31/2025

LINE Notifyサービス終了

利用している方にはすでに連絡が届いていると思いますが、当ブログのツールでもLINE通知にちょくちょく活用させていただいたLINE Notifyというサービスが2025年3月31日をもってサービス終了となります。

これにより4月以降、当ブログで配布しているLINEで通知する系インジケーターはすべて使えなくなります

LINE公式では代替としてLINE Messaging APIを勧めているようですが、「個人で自分にだけちょっと通知投げたい」という用途には向かないように感じます。

個人的には、”LINEで”という部分はそこまで重要視しておらず、「なかしらスマホに通知できればいい」くらいの感覚なので、LINEにはこだわりません。

 

というわけで、以前公開したNotify PluginのLINE通知機能を削除し、代替の通知機能を追加しました。

なお、だいぶ前に公開したLINEにだけ通知送る系の古いインジケーターは4月以降は完全に使えなくなり、更新予定もありません

「使えなくなると困る!」というものがある場合は言っていただければNotify Pluginの連携インジケーターとして作成しますのでご要望ください。

 

Notify Plugin

ポジション変動などのイベントや連携インジケーターが出すサインに反応して通知を送るためのプラグインです。

詳しくはこちら。

連携インジケーターはまだほとんどありませんが、要望があり次第、徐々に増やしていく予定です。

今回、新しい通知機能を追加したため、LINE Notifyの代わりとしてDiscordで通知を受ける方法を紹介します。

 

初期設定

プラグインをインストールし、有効にしたら一度cTraderを終了してください。(もしくは一度pluginを無効化してください)

マイドキュメントのcAlgo->Files->NotifyApiConfigというフォルダ内にDiscord.jsonというファイルができています。

ここにDiscordから取得したWeb hook URL を入れて上書き保存してください。(Web hook URL取得方法については後述)

こんな感じになればOKです。

{
  "endpoint": "https://discord.com/api/webhooks/~~~~",
  "requestBody": {
  "content": "##MSG##",
    "username": "cTrader NotifyPlugin"
  }
}

 

あとはcTraderを再起動すればDiscord通知が使えるようになっています

通知方法に”API”を選択、Optionで”Discord”を選択します。

 

Discord側設定

Discordは音声・ビデオ・テキストチャットができるコミュニケーションプラットフォームです。

ゲーマー向けボイスチャットのイメージが強いかもしれませんが、普通のチャットができるのはもちろん、Webhookという機能で外部アプリからの通知を受けとる機能も簡単に使えるようになっています。

Nitroという有料プランもありますが、Webhookで通知受け取るだけなら無料プランで十分です。

通知をスマホで確認したい場合はスマホアプリもインストールしておくのをお忘れなく。

 

Web hook URL発行方法

Discordを使ったことない方はとりあえずトップ画面からサインアップしてアカウントを作成してログインしておいてください。

なお、通知を受け取るためURL発行はPCから行う必要があります。スマホではできませんのでご注意ください。

まずは自分専用のサーバーを作成します。

ログインしたらディスコードマークの下に”+”ボタンがあるので、これを押してサーバーを追加します。

「オリジナルの作成」->「自分と友達のため」

  

サーバー名は好きなように名付けて、「新規作成」

自分用のサーバーが作成できたらトップ画面のディスコードマークのすぐ下に今作ったサーバーのアイコンが出てきます。

ここを右クリックして「サーバー設定」→「連携サービス」

「ウェブフックを作成」をクリック

「新しいウェブフック」を作ったら「ウェブフックURLをコピー」を押します。

これでクリップボードに自分専用のウェブフックURL、つまりは自分だけに通知を送るためのURLが格納されました。こんな感じの文字列が入ってるはずです。

https://discord.com/api/webhooks/~~~~

これを先ほどのファイルに貼り付けて下さい。

 

そのほかの方法で通知を受ける

一応DiscordだけではなくAPIで通知するタイプのものは同じような方式であれば対応できるようになってます。

たとえばLINE Messeging APIが設定済みでトークンとユーザーIDがわかっていれば、こんな感じで”Discord.json”と同じフォルダに”LINE.json”とでも名前をつけて設定ファイルを作ってください。(LINE側の設定やトークン、ユーザーID取得方法についてはご自身で調査お願いします。)

{
  "endpoint": "https://api.line.me/v2/bot/message/push",
  "content-type":"application/json",
  "authSchema": "Bearer",
  "authToken":"<チャンネルアクセストークン>",
  "requestBody": {
    "to":"<ユーザーID>",
    "messages": [{"type":"text", "text":"##MSG##"}]
  }
}

またTelegramでボット用トークンとチャットIDを取得済みの場合はこんな感じの”Telegram.json”を作ってください。(Telegram側の設定はご自身で・・・)

{
  "endpoint": "https://api.telegram.org/bot<ボット用トークン>/sendMessage",
  "content-type":"application/json",
  "requestBody": {
    "chat_id":"<チャットID>",
    "text":"##MSG##"
  }
}

~.jsonファイルを作成してからcTraderを再起動すると、このようにOptionから選べるようになります。

 

通知だけでなくいろんなことできる・・・?

少しWeb周りの知識がある方はなんとなく気づいてると思いますが、Notify Pluginのこの機能、別に通知専用というわけではなくただPOSTでAPIをたたくだけの機能です。

jsonは独自形式であるものの、上述のLINE.jsonを参考に必要な部分を変更すれば似たような形式のAPIはたたけます。

要はシンプルな認証でPOSTメソッドのAPI実行するだけの機能ならだいたい連携が可能です。

ただしそこまで信頼のできる機能でもないので、発注などに使う場合はあくまで自己責任で慎重にお願いします。

また、もともと通知用途なのであまり頻繁に呼び出そうとすると呼び出し失敗しますので注意して下さい。

外部のAPIと連携するときは、APIの利用規約をよくご確認の上、ご利用下さい。


まだコメントはありません

新しいコメント

コメントは承認後に公開されます。承認まで次のコメントは投稿できません。

cTrader's Life

© 2025 ajinori