0001001110111101010000110001111000000110011101100101101100111011110111100001010111110000101001101000110100010000000011100101100000000010110110001111110010000011010001100111101001111111001010110001001100110011001111111101101011001010110000000011111000110011110010010010111000011010011111011011010001001000011100001100011010111101010111001101110010111001100000001000010101101111101000001011100000011110 0100110010000001111111111010001111010001001101010010001101111010110010111110111001100001101111011111001001110111011101010001001100101001110101001000100001111010100100101110101000101000110000011110000110101100011111000101001000100111001111101010100100011011101111000011110011001011001100010101000010101000010111111101010011110101000111101111100111100110011001011001011111100001000010110010110011111101 0100111110111100000011110000110000101011000110001110010100010010010001001110101101010000000110111111000101001101100100100111101111100001100100100101100101111100010100100010000111010101001010011110101010001100000110100111100001100111011111100010001110110110010000111001001111011100010100110001000101100101100100010100101101010100100101010001110101010100000111010110111010000100110000101000100000101111 0010100111010110001011111100101010100001100110001111010100011000110001001110001010011001100111010011111001110110010101110110001011100101011111001000010011100001011010010111111000010010001101100000000010110011100100001000111000101000000000101000000100110011011100001110000000000011111101011110000011010101011110111001001101010110111011001101011111110110101000111100000100010000111001001000100100011000 1111101111000100100100110011011011010000110000011010000001110011011011101111010101011100101101110010101001110011001101001010010000101001110010111110101001010010100001011010010111111010011110110111010110100111000000101010010110110111000010100100111111111100111110000011101110100011111110011110000100100110101100010011001100010000101010101001111110010100010101000000111000000011001001000100101110101110 0000010100110010110010001101000010100101010110011010010100110110010101010000100100101110100100110000100011001111111000100100111000110000001001101110011010110010111010010111001101000000101111110011010010011001010111101000010101011010010011111110010101110011111000011000110111011001000111111101001101000110000111100111100001001111110111000000011111101110111111101011110110011110010000111100010110001110 1101111100010110011010110100010100001010000100000000101011100100000000001011001101011111010111011001001101001111000011100011101011110111001001001111111110100001001010101100101110001101011001011000001101000100011010010111101011011111111010000100110111100100100100111011001010110110011000110101101110110001100111101100000011000101111110011011010000000100101011001100111101111101011011101011111111101011 1101010100011101100001000101111110101000011011001011011001111101110111100001001110100000111110011000010100111110110010100000000111011100101010111101011000100010110101001100010011111010100100111100001010000011001001000010101011000000111110110011001011011100011001010101100100011100101000110100110111101011111000110001001001110101010110001110011100001101100111100010000101111011101100110000010110111011 0010001110010110100110010010011010010110110110000110100111011011100000111011100011111101111100110110010011011001110000010111100010111010000101101111111010001011110100000111111111100100001001000100100100101110010101101110101110101111010101010011110101011111100001000011000001110010100001100100001011000010101101000110010010110101101010110100100111110011010111010101011011011101100000111110111011101110 1110010100100000110000001011010011011110011101101001001011111110100101111010011101001000000010100001100011110100111101000100001001100001111100100100100010010101011011001111010000010010101011101010101001001010101110101000010111100010010110111000100111011110111011011111110010111010100000010000011001100010110101011111000010111111010000101101010111100000011010000001101111101000000110011110100101110110 0110010000101000000111101000110111111101000101110000101101111100010010000110111111111101000100110011010111110111110111111101110000011011110110110011101000101001110111000100110100101000001001000100101011010000101010111000100101100111111011110011111011100111100100011110101100010100101111101011100111100101000100111100100110011011111101101101000110101010101001001110010110010101010011000010011111110111 0010100111010101110101100001000100011001100010101100111000100100010011001110110001100101111001011101101101100010101001001110000100111110110011011100010000001000100000111110010001101000111001000001110001010000010101110111000100111111010101111010000101001010110000011000111011010000110011000001011010011100011101101011111110011001000011101111011001010000000101000000110110111011110101111010010000111101 0011100110111010111010111110100001101011101011101111010011011010110100110110011010101001111001010010011100000000100011100101001001011000100001011011111011011110001011100001010010111110011001100011010011100111010110100001000110000011001101100101101100010011000100111110011101111110101101000001110001011011100010000001101101100100101111001000101010000100011100111000011011000011101101110101101011100011 1011000011101010000001010011111001101101010010111111100110001001110011101110101011100010101110111101010100110000011000100010100111110100110000000001111001101010101000101111010010101010011001000101010001010101011010000100110010010001110100101101110111101001001100001010111111100110011011110111010111000001110101001000001110111001101001101110010101000111001111101011100101000100011101111010110010110011 0010010011010101001101010000011000111100010100010101011000011111011010100110001111011101000111101111111111001000001001101101010001101010111111011001001100001001111011010101100100000110001011001011101111111111011100100110100110010000111001000001111101010110011010000001111001100001011101010111111111011100101001011111100100001100001100100001001100001110111011100100000101100001111000110011001100001101 1000010100001001110001100010010001000000100000000011101001100010100000000100101100010000101101110100001110001110111010111001100100000101101001001011001011000110011111100010000011110011010001111001011001010111100000000100101000010000010101110110101000100000110001000100001010011100000011100101111100111101001101111001111100000110010101101000100000101010001001001000100010001110110100111101110101010110 1011001101110100011011111101100000111100001011001000111101101101000000001110110100111101011010100100000101110110111001110100000010010001111000000001011101001100101010100001000011000000111110001101101001111001011010000001101110101111110101110111111011011001111011001011111011010110011000000110100000100100011100111011000100010001011010001001011101101110001111001111001100101100001101001010010111110100 0001010110100100000111100110110011000010011011111011111110101101001100110110100010101111100101011000101001000010010011001001010101110100011000010100111000101001100110001000101011010000010010110111011011110000101010001101010101000010100010001111001111001100011000011001110001111001001001100011011010111010001000000110011110001001010011001010011000010010010001101000111111111011000111111111010100100011 0101000001010010100010111100100110010110010001101100101111101011111100101101011111110110000000100001100111001010001101011011000100001100000100101111001100010000100000001110001011111000110110111111001111010010001010101001011011001100100011111001011101101111101100111111000010100000111100011001010100101001000001111011111001101011100001001101101110101101010011000100100010100110000110010011101100011100 1100101011101000110010100001001011000010111001000100111000101010001001000111111001011110011000101000101000111010001001000110010110011110110100010000000100110000101001000101000101100110001111011011000000011110000011110001011001001000001010001100010110111110100101011001011111011101110000101111001001010010000000001001001100110011010001000011101110110110111000010100100010100011111110010000100000111100 1000010110001010101011001101111000010110101110101111010110101000100000110010010011011100000000011010110101010111101100011100011000001101100110111000011111101000101010001010111001011100101001101010001001000101110011110111011111000010011000001010010000010001001100101101110001011001110111000001000100001100110010000000011011011100000100000001001001110000111000010011110001101100110010111001010101111010 1000110101100100100111111010111011110010101010100011110011001000001001111100100011000110111011111101101101011010000010010010110010011010001110000011011110100101011111101111101010100111110000101111111111011010111011111000011001010000100101101101010001010111100101011000001100011101110001011001100111110011010011010000011100001000100111100001100011111111101101011000000010111010110111000000010101111010 1110010111010111011001101000001000101001001110110010011100011000010011001111101110110011011101010001110100111100001110011100100000111011011100010110001011010111000110101100110001001001111010001001010100111010000011110000011000111101111000001001001001000110111101100011001110101101110010110111000110011001000100111101111011000100110100100001001010001001111100111110011011101000000100011001010010100011 0100001000101110110111101000111100011101011001100110010000101110000100101101011111101110010000011110100101001110000100011001111011111101011010000001100000110010110011000100111111111110000101000000010101110011001100001000100100010101010110011101000011101100100010000110011101000000011110000100100000110001101011010010011110110001010111111000001101110111001011011111101100001011111111011101010010100000 0001100001011111110111011101101010100101000101100001100011001111110001001111001010010010101101100010011000001100101000010100111010010101001101011000100110011111101110111011100011001100000000001010101001000111110000101111000011110101000101000011000101110101011111010011011001101000011010000101011100010010110011101110011111101001110001010001001101110100101010100011111000110010101111100100001010110011 0011111000000101001111010001010101010110100000001010000110001110001111001000010001111111000110000000111000111011000101110100011000010011110001101101001110100110000000100001011101110010010100010111100101011000000010101000110011011100011111010100110001101010011010100110001101100000010010001011001110100000000101110100110011001000001010010011001010100001111010110101001011111001111100101001101000010010 0111101001010100000111010110011010011011011001011000001100101110111100110111100100100000001110010011110111001111011101001101000101000001101111010111010001101001011100100000000111001011000110011010111111011010110000110101101010000001010111101100000101010101010000101010110011100001001011101011110100100001001001101010110011011100001001011111111011100011110010100101011011000100001111000011011101010000 0101000100110110111101101001100111101010000101000101110001101101110000101100100110111110001011111111110000111110111111001011110011001010010101000111010011101011110000001000110110110011001001101101110101100100101000111011001011000011010100001100011000111101011000000101010110001110100011011101011100010010110110001110011001011111000001100110100101001010010101111111110000101001100001000100000001011001 0000011001110101001101110010001110110000001101101110011000101100010101001011001010111110101001011001101010100000010001100110000101110111100110001011010110101000001011111011001111111001000110111111001111001011110100111010000011010100000111111101100000110010011010010011100011010101100110001100000110111000110000011110111100011101010100111011101100010011011001011011100111111101101000000101001110011111 0101110011011100000111010001110110101000110010110000011001111110010000101000101010100101111100110010010100001001000000001110001011000100011111011011100000011001111010011011011101111011110010111110111101011100001010111101000101100110100001010001111101110011101101110010100011110001001111011100001000011111100011011001110011101001110100111100111110110010100100110001001101110001011000001000110101000110 1011110001011001001000011111000100000100100101101011011010111010000010100111110011001111000001101010001001001111000001001011101010100101110100001101011001110101111001010111111001010001001110110111101010011000111000010111010001100100011000100010110110100100101110000010001110010110111001010111101100000111000110111001011011101011001110000110100100110101111000100101101110100111011110101010110101000100 0101000100010001010111010011111001110010101011000011111101010101100100010000011111000100001110001011011111011011101000110001100100111000000111110001010000101111100010000100000101000100110001010100000100100001110101100011010011111101010000001100010111101000010011001100100001110111000010110111011011100001001111011100000000011001011111110110001011011110100101001101111011101011111110011110101111110010 1011010001011111001010111000000010011001000001011101000111011100010010100101010101001001001101110011001000001101011111111111001100101000011011011101000011110001000010111001011010001000111001001101111111010011111001001101110100111100111110101010110100100001011010100100111010100000111011111101000100111110011000011110000100010010010111111010010010011011000001001001110101001111101101010100100100010110 1110011001000110100001100101001001101110101101011110001011000000010101110010001011111101111110101100011110110001111010000001101100001001000000110010111010000101100111110111110111010011100001110111111101110001011111011001111111111000111000010111101100100010011101101111011010110011011111011010011110100101111110000100001011011110101110111001100100000010000010101011000000110001110111010110000001011101 0110111001111000010010100000000100111100101011100101010000011010100100001101001011110101000101111011000111000011111101010100100100110011010101110100011110101001110001101010101000011000001101111101001000101001111101111010010010100110101101000111100100110111001001000101000001110101111010010000111101011101110111010001110110011010110010111111111001001110000001000110100011011100110101100100011000001110 0000000011000101000010110100111111001011111010011000110001000001001000001010101110010111100110101000111101111010011111011101101000010010011101001001100100111100011010010011100001100100100111110001011111110010000100100001100011001101011001011100101000111010001001110111001011100110000110111110110000111010101011101011000110101010010100101011111111000111100000001101010101000101001001111010000011000101 1010101011001001100110011101010000000010001100011001100011001001000011111100100111101010110011011111110011111001001011111000101011011101000111001101011111101001100100111010101001000111101111101011100000000101100111011101100110110011001011011100000101111110101010111110101001001000011110011100110011100000011011000101010101011100000010100010101011110110001001111100101001101010101010010101011000101001 1100100111111101111011100111000011101100110111000000111101101011101011100011110111110010101000010010000011001100110110010111110011100011001110110000110001100101000001010011100001000001101000100011011001011001001100111111111101100011100000001010010010111110011000001001101011000110000110101100011111001000100110001001111110111111000000111111010110111101100011101110000011101011001001100110111101001001 1010100110000010101100100010111110011111110011111000110000101100100100100111100110010100001101001110010111000101000011011111100000111110010001001111010100111110010101101101000100001001010101110100111111000011100010100000101111110110000100111110000100000101110110111001000101000000010010000011100001000001101101111101001110110010111101000010001010001001010000110111101100000111111111010101111001000111 0011011100101100010101010001100010000010000101100101111001001001001110101111110011101001010010110101110011000011110100000101111001100100101110001111101100010101011110100011111100010001010101001111110000101011001110111111010100011101110111111001100101111000010101010000000011100010011001101100111010010101011101010110000110001011110001010011001100000000010111100100100101100001001101010100100100111000 0101011101111000100000110001001011100101010001000110100000100110110110001011111101110100101001101010011100110111110100100111000011000001111110001001011000110100100101110100100111111111110001000001010110000011010111000101100011010010111100010111100001001101010001010100011101000101011001100111110110011001110100101011011101100010000000110001001000001101100000101101000010000100000100001100000011001000 1001110110011001011111111000111001000100111101010001110011101100101010110010011000101011101000001110000101000111001101100100110011100000010000110100110101001110000101110101011111100100010010111011001100111011011001101000000110111011001000001100001100000010101101001100010001101000010000101111011010001001111011010000111011101100011000100100000100110001001110010100011100100000011011111111111100101100 0000000110100000100100010011011000011011001001111110001101000010011000001101001111111100001001100010111101001010001110110001101101000010000000110110101100010111001111110111110101111000010010000110000000110110000100010001011100001110101110000110000101111110001110001110001011001011100100010001000101011101010001011110000111011111101011100101110110111101011111010101010000000100101001010101001101011111 0111001000011100101100101000110101100101001000110101110001101001111101111111101101111101101111100010010100110110000001111011000110111100011011100111110111001000001111100100000111111110011110001010011101101101000110100101001110111011001011101001110011001001001111101110011001001101101011101111001001011010011111011100100001011011000101001000010010110110011011000011001111010010000001110111110100011011 1010000100101011000010000010111010000000011110101010000111000111010010001001101100001110111010011111101001001111111011101010000001000111010011010010000110010110111000101111110010010111101000000000010101110001111110110100100001001100101101111011110011000001011010110111010000010111000111000011111011000011111100010101000011001010101010100110010111110111111000111011001001011110100000110000000111101111 0111000101010100101110101110100100110110000001111000011110000110111100001111000110001110110110101100101001101001000101010111010010101011000111000011111101101110001101100011011010000011100100111011110111001011101000010100000001111000010100010001000000010011000111001110110001110111000010111000111110000001011110110011101100110011001000010100011101111001010000111111111111101011110101001110001010010000 1110010111100001001100100000110000101111010110100001010101000110110000110000000000100000011010101101111100100011101011111001111110011100111011111110010011011101001001001011011000100001010011101000011110101100100101111000101001000001100000110011100001000001010000010101010001011101000000001000110110101011001101100010010111100000110111001011100000101000010010100010111000111101011001000000000101000001 1011100100101101001011101110010111010111011101000100001001011111010001101000111110100001100110000010011101111111110110100111010110111001001000010110000100000000101000111111010000001000110110001011000011010001011111000000100100111011111111011010101000011110111001100100100000011100011100011011000011011110011101101000110010100010000101101111100011011111100000000101101111001000110110101000000001111110 0000011101101110110001001100110011001111001111010000101101100110100011000111101001011101000111011001110001100111000011100010001000100100000110001011000000111110000011000100011101001010111000011001000111100110000100011001011100110101010010100101110101111010010001111100011110100110000001011111010110001000010000010111111001101101000100110101111100110001010010011011010111101110001110011010101001001010 1010110101100001110110011011100011101010000000000110010011111011011010011000000001101100111101110110011011001011010011000100110110011000001100011010111011011001111110011111000010010100101000100001000111101001011001001010001100010111000011000101101011011110100011010101110111100001101111001000000101100000101011010101011011010110100000100010000100110010010011000100101111100111000001010111001101000000 0000101100100011110000001011110101110101100001011001100110100001010110101111000111011101111111011010111111101100011000100100001111110100111010000000000110100100010011110001010010110010001001011001000011110111100001110100001001001010000111111001111011000000000011111111001110100101100001110011100001001100101111100001100111101111100001100100011111001110100001001000110101111011010100001101110011011011 0010110000010000010010000010110100000110100110000101110000001110100001001110001001000000000010010100001110000100010101010010010001101111001001111110010011111111110000101100110001110011110000010111100000001111111111011010011101011101011101000110100010001011100001101110011110000110110111111100100010011001000100111110100000110011000011010011010000000000010100000011000010000110001010110001101111011010 0011100100111000100111111101101001001010011110110101110111011100100001001101010100000011000101001101000111000001010011100100111101011110011011111000010111110101100001001011000110110011000010110001001101110110001001000100111001001010010111100110101101011011000101110000010101110001000110100010101001101000101000110100110110001011001100101001100011000111111000110101111110100001011110000001001010010111 0010100111010110011110110100101101010101000111010001000101100010000100111001000110000010100101101000001011110101100001010000000011000011010101110000110110111111100110010000011111100111000100011000111100101101111100111010000110011010101010010001011010001110111110011100010100100100110010010001011110011010110111010011011001000100100111110010000110111111101110001000001001001011101000010100000100000010 0101101111011011110000110101100111101010011000110111001001110110001011001011010001100111100100000111111000111000000000101101011100110110110011001100010101101101011111111011100111001101000000010111110110010100100110011100100111011101110001011000001011110110000111000001000110011000101000100010100010010101000011110111100011010000100110011000001001110110001000000001000110011000110100010110011110101100 1001111000001010000110000001111001010011111010000010100101011011101100100010011110001110011101110010010111011001101111000100100101010101111101110000111110010101010100000001001010010100100001010100011100000111010000101011010011111110111101000111100001010001000110111000111111010000001100110111010110001000111101001010000001010101100010111001000001010000101010010001101110010100000011100100011000001110 1000110000000011111001101001010001101011001010010110011011010111111100010100011010000010010011100000000000111101001110010001011110100111111110110101101101000010011110001110010001101001001101100010111011100010110011101010010111001000001001001000001001000110111100001110000011100110111010011111001111110101111011011011000010101111000111000000011001111101010111100010001001011111001110010000000101001111 0000101000101100101100110000110011111011011111010111101101010000111101001001010000011100010111110111110000101000011000110101000100100110010100001110000001110111001000101111011000101110111011110001100011110100101000011110001110011010000101010111010000111101011100111101001111111001010000100111100100010101101100011011000101110000000110011011010001111011111011111110011100010001010010100110010000001110 0111010011010011111100011001001101110011100101100001101110000111101110010110000011111000011011001001110010010011100001010011010000101010100010000110101000000011000010111111110101010011110000000111001010010100100110010101010110010110010000000101011101101111001110000110011111100001010011011100010111110111000001000001010111110101111101100101010001110010111000000101010001011100111111001101110011111001 1101001111111111110111110011001001010111010011110011101001100010111111111011010101011101010110101100001111000001010010101010011100000101110001110010101111010111100001101111000101011110100010000010001100001100101100000000010101111110110111011010110011100111010001111000011011110101101111101110011110010101110100110000011101001010110011100010011011101000011011000101101100011100001010101101000111010000 1001000000010101111111111101100110111110011001110010111001100101110011110100001010010001101001111110111100001111000011010010110011000001001010000000000010010101000010001011001001000001101110010110111001010101111011010011010010110101100100000011001110101010111101001000101001100001101100111011010101100111001001001000010101101100000001011111111100001000101001011111110000101011101010101011110010101111 1010011111110111000101111110010110110010010111111010000001010001010111011101101000110100001001011101001011010011111100000111001110111000110001100100001000111100011111100010010111011001100001110010010100100011010111000000110010001110101011000101001011111111110010000000100001111110001010011000000100000100111111010110101100110011111110111101101110000000100010000101001001010011101100111011001000010001 0001011000111010000100100010000010100011000010111000110011111000000001100111001001100100111000000000101110000110000110111001010001001010100010111111010000101100111111000010011100011010111001000011010100001001011100001111000011100100011000110001001010100011111111101110010110101011100010110111100101000000010001011011100111000100010100101001011100010111110001111111010000001101100000011011011111011010 0100110010101011100010010000001001000111101010101100101010111110110110110001101101111011001001110100101010111100100110110100100000110011010010100011000001101001101100100100100100000111001000110101110111101000000000011000110001110001110111010011010001001110000010111110101001111101100100001000110100010011010101110010001101010100101001001101101001011101001001001000010001001001001000010101000011110101 0010010101001011011110000101110110111011111110101000011111110001110110111011100010111010010100011110110010100101101001100101010111110100110010110111011110000101010001100000110000110011110011101110100100100000110101010010111000001000011101100010011110011100011011111100100110111101011011100000101000111111010110010010100011101011000110011001101010111000011010010000000101000111110001100111001000011011 0101100010111101110000010011111010001000011101001011011100111011010010011100100010011111011001000000010010010100100000010001011000100011100000001001100101001100110110100101000000001110111000101000011100111000100001010001111101011101000000100110010010101100111001111101001100000010101000111111000101001000100100101100001111100000011001110001010001110111111001001111001111010001001110001110110011100010 1000101100100110111101101011110101001111110111011011111100111001010110111010110011010100111011110101010110011000011101100100010111000101110100010001110111111100000100001011111101101100100011110110101100111110011010000110010010000011100010001110000001100001000100110000110001110010110111101100111000110101110101001110001000110110100000000000110101010001001001001011101101100111111000001110011000000000 0100011101100101011111011001001100010111000001110011100010100000010001000010110000010000101110100111001101111011111101110001101011000111011101000111011100111001110001101111101100101111111100011111000111111010000110010100101000000001100111110110111011100010011001001111100111011101010101001011011101101001110001001111011110110100001001010100011011011100100101100000100011010010100001000111000001100111 0011101011110101011100110011011011100000000110111001010110010011110000110100000000011100111110111111010110100010001010110100001101010101001110101111000011001111011001000101101101001101011100101100110000001001101010101010111101000010111100000001110000000100101100111101001010110111000100000011010000000110001101111011101101100010010001100010010110100011010011101001100100000111010011011000110000111011 1111111011110010110100101010011000010100110010010000000010100000111010010011000111011111100000101101001101100001111000110100100101100110011010010010100000100011110101101000001100000011001011010101000000010000111001101101100101101111010001000000100110001111001100110100111100100100000011000100011110100101100101101111000100001100010001000101111101001101001110110001000001001111101000111111010011110111 1110001010100001110111101111100001111001100011100100101101101001100011111100101000110010101010111101011001010000011101001100010000101011010100010000111101000101111000101110011010001111100000111010100011011001001111101011111010100000001001101010001011011001011110001011000011011101011011110010110000101000010000110100001010010011111110100110000110101101111011001111101110001101000100001111110111100001 1100100101011111010001000111101011111100001101000010111000000010001011000111000000011010110001111011011001111000001010011111100000100010011000010110101001000001111100000010101101010101110110000001101010000010110010001100011101111001110111111000010001111110101001110010000011100110001100100011001010110110010101100110011000001010001011011000100010000000010010111101111111101101000111111101011100011100 1100111001001010111111111101000110000001111010111001000111101000100010101110100101011111110101110011010010100000111010100001101100111000001111101010111100011011111100110110010001101110101001111010010111000010111100110101001010010001110001000001001110011101000101111111100111000011010101010111010010100101100101011111111010111000001111001001001001011111001011101011001111000010001110110001100100000100 0011000000000010010110000010000111000101010100010100011001011111100001010010100011000101101111101110100010010110001000101100100001111110010000000101010001100100111111000001001000100001100001111101110110110100001101011101110101011100011110000110000100101100000111000101001110011000111110000100001001010011101011111111110101101101010101001011100001010011010110011011111001100001100010010001011010111001 0110000010111001110011100011100011011111110001101010010000111001011111001100100100010100100111000011101110101111011011100111001110011101110001101100001001011111011101010011000100001110110110100001011011011100010001100011001001111101000001111111100001010101011000100011000110000101011011110001100001000010100110010001111101101111101010111000110000100001001001011110101011000100101100001001101011100001 0000000111010111001011001110111110110011110011110100000001111011100110010010000101000000001001001111101110010100010011111111001000011011100100000100001111101000111010000010111000110011101011110011010111110110110010101000100000110110001101011010000000010100100100110111111101100100111001111101111111001001100001100111000100001010110010111000111100001000000010101110011001110101100110010001010001011001 1111110001001010101010110110011101111010001000111000100111011111010111000111101000110001010111010011100010011010110010000110011000011110110011110000000010011010000010000010010110110000001100101100010001101010001111110000100001001110001011000000011010111010001110000111100010100011101111110000001110110000111000001100101000001010000101110101101001111101101000101011000000010111101100111011110011001000 0110010111100110111000110010000110100000101101110010000000101001100010000011000111001101010101001101110111110101110010000011001010110101010010100101111000000110100101011111001011000011100110100001101011010010001100000011100111100001101010110100010100111100100001001111110001001000010011100000101010001001100111101101001111010111000101111001011110011111110101010011001001011011011010110000100001000101 1000111011010001100100000111001111010101110100111100010011100000010110001001011101000010010101010001000000001100011111101100100110100011111011010111100101001011101001001111010000111001101000000100011101111100000000011110110110101011000011000000001111110110011100001100111001010000011010001100101101101011111001101111101100011100111000111011101101010111011101100001011100001100100111110110111000000101 1101111001101110101000011110111010011010011100011011011000100111001011100111100110010011100000000100110111001110101001111101100100010010110110001001010110010100001000110010010001100100100100111011000110010100001010010001000010111010001001100000011111000000100101101010110001111101110111010001000111001110001010000001111010010011000111000000111110110101111100101000101011000100010110001110011000011111 1111011010110101111110100111100100000010000110101110111111111101011111111110010000101100000010000000011001000000001100111010100101001111001111010110011000110011000111010110101110001000001111011100101000101101111000001000110110010011011000100001100001010010100010001101000101010011110011111010100000000110110000010010111011110111100100011000011011100110000011101110111111001111000110110001001011000110 1010000100010001101100001010111000000111101011100110100000010010101011101010010111101101010000100100010011100110111011010001001001000000001111110110011111000101101010111110011111010110100100100011101000110101001111110101110001110001000100011000000011011111011000100111101001011000101101110100001011110101011110101111101101000101000100011111110101111110101111010010010010000110001101110111110011110101 1111001111011100101110000100111000011110110101110111111100001111111100001001000100111011011111100101100101000001101110110000001111011001111110111010011000001000111001110010000110010101001110111000011000110111110100110010000100001001011101110011101011101100001000100101010110101110000010001101010011110110111110110110010101111001010001100110111101001101000101011111100001101110011011111100010010000001 0001101001101111100101011011101111111001100000110000110100110111101101011011011001011110001010000011101111001101000010010100100101100000101000010010111110000100011100000110110001110001100001010111100111101010110001111101111100000100100111010100100110100011111110100111110000010110101011011101000011111011110101001010001101101110101001000000110000111001000101101101111000101001010001110011110100101000 0000111000111100100111000100101000100110000010111011100110101000010000001001101000010110000110000001001111100100011100111110100001100110100111100001110111001010111100100000001011111101000010100001000101101011011011111101010101110000111111100111111001000111000010001001001000101101010000000100100110110010110110100110000110101010111110001111011011111011010100010000001011011000101010111111001010010000 1011100111000111101111100110001001110010100111101110101011001010110101101001000110001001011110111010100110000101110101000110111111100111101110000010110100000000111101110011001001001110101100010100110101010001010010110100010100011101111001111011001111001000110000111111010010010110110101011000110101001111100100011101111011101101000111001011000110001100000100011111100101110011111111100101011000011000 1110000111110010000101000011100111010000101100110010001011110001100111111101110001000000000000110000010110011000110011110001110111111000100111010101100010001011111100111001100010001011001011101111011101011100111101110101111000110010111011110000100001001111101001111111110011001101111000011000000101011001010111001010001110110110010111101001100000110100011111001100000111101010110100010011000111101000 0111111001011001111111100011010010010001000111010011111110101100011011111110011000001100111001011101011111001110000001010000000111001010111011110100100101101000011111111001000001000100001001010011000010101011110001000010010101000100100010101111001010000101110111101010100100000010101111001000010110001011100100000110011010100011001011011110000001101000011101001000111011111111001010110010001110010011 1110100101110001011100100000001111111010110101010000000110111010001011111001111100111011011101110000011011001100100010100100000111001110100110000001100010001001010001001111010011111100111001011001101111011001100010101010000111110011110010010011101010110011000010001010011010010100101111101110110110000001011001111001111100100100111101100111110101010010111010001111100101010001111111010110011100100011 0101001111100100000111110101110000000111001011101000100100011010111000011011010100111111001111110101000110101001001101100000101001001100111011110110001100000011110001101010011001100101011100001000111011101111010100000001000001101000000010101001111000011010101011010110000100111010101001101011101101000001111001111100011111111111010111011011000000110010100101000001011101011100010000110100001101001011 0000011001010011111111010010000001111100111010000100010000010100110101101101110100001000100111110010110001100000001001011100101101010000010110001000111011111000001111100101010011001100000000001111010001110110011001110001100011000101000110111011001101111010011101010100000001101010011001111011001100111101000100000010001011011111110111011110011001000001100100111101001000111110100110101011000000001000 1100101101001010001111111100010110010111000101110110100110111011111100010010111111110010000011110011101011101001110111011000001100001011000110100011001110011011111100000100111001001111100101111011011101000110100001000001101110001100111111101110100101111001101101000011011110000110001101000001110111101000000101010101001100000101100111110100000010100000001011001011110101010101110101110010000000100100 0100011100100111101101000011111011101011011101111000101100101101111000110001011101110101010111000110001101011000111100101111101111000101111000101001101010000110011101011110001011101000010110101110000001101110001001000000101010100001000111000101111101101011010001000000010000100110100110010010000011111011110001100011011011010000001111010001100110011100000111110111010100110000110011000010010001110000 0000111100100010110101000110011110111100011101110100010010100001101111100000101001111110111111001111000111010101110000001110010101100000001111010010100011011101000111000110010011111110111001100010100101111001100100100100010100101000011001010000000001000110111010011010110101000001111111101001000011001110100110010010111111111110110101001100000001101010110011000000011000111010001101111000100111111101 0011011000101010001111000100000111010000111110100111010001100101110110111000010111100100101111001011011011101101111000000000101011111010010100111010101111011110010010111010011111101111100011111100011000101011001101110010110100000010110110011000100111000110011001110010110110000000111101110011010110001101011110110111001111101011101000001101011110011110000010010100100111101000111001101101000001111100 0111111101101111000111100010010000011101110001110001100001100100000000111101101111111001010011111111000000100111011000010010010001100111010010001011001110111000110000011111011010110011110011001000111000001111111011010000101000011010010111001011011010001011011000000001111010101011111001001011010011010010100100111011100001010111101010110010101101100001101001010001001100010100111111110101101000111100 0100010101111111100110001000000010101001101000101001011100000101110110001111111011011010101000110010010111010101000011100101110000101000010010101011111010001010111101011101001000111011111010000011111100100101110001110110111100111010110000010110111011011110100110010001011110001110101000111011101111010101111011101000111010010110010010101010110010001111010010100110110111011111100010100011100101100001 1010000001111010100010010110011000111000101101011100100010111011001011000011100000001001100100010000011001111110100000011010001111000101001110101110100010101001101011001111000110111001101110110100110011111011110001100100001111011001111111011100111000010010101010000010001101000110100010111001001011101000111110011110000010001100111000000011010010001001111010101110101101110001011111001110001001101110 1001110001010100111010101001011011110001111001100011101101011001100000100011111001110000100101010010010100110100100001101010010010011000000001110011101100100000001111011001110100000101010101001000101111101100101001101011110000101111110110110010110110001001101111100110010100001110111111001011011100011110111011011010010011000100001100111110011101100001111110000010011100001101010100101110011010100100 0000001010100001000111001111011010100001010101001111001100000000010001001110001100000110000100011100110010001110110101001100110001010111110110111110111010000011000110111010011101000000001101000101010110011011001111100111111001101100001010100000110001000101111110000100001001100100001000110111100101100001100001011000101001111010010001100110100000011011101100000011010011011101110110010011011011010000
cTrader Algo

cAlgoの発注メソッド(3) ~その他の注文~

10/30/2020 11/11/2020

4年以上前の記事です。内容が古くなっている可能性があります。

まずはExecuteMarketOrder

ExecuteMarketOrderメソッドの使い方はわかってる前提で話は進みますので、よくわからんという方は先にこちらへ。→cAlgoの発注メソッド(2)

というのも、cAlgoAPIでの発注はExecuteMarketOrderさえわかってれば、あとは簡単なんです。パラメータはExecuteMarketOrderのとほぼ共通で少し追加されてるだけです。途中までの引数指定で利用可能なオーバーロードがあるのも同じです。

また、すべての注文メソッドにAsyncバージョンがありますが、Async付きとなしの違いもExecuteMarketOrderと全く同じです。

ではExecuteMarketOrderはもう大丈夫という方はこの先へどうぞ。残りの4種類の発注メソッドについて解説します。

 

 

もう一つの即時注文

ExecuteMarketOrderのほかにもう一つ即時注文のメソッドがあります。なお、cTraderの即時注文はIOC (Immediate-Or-Cancel: できるだけ執行して残りはキャンセル) で執行されます。FOK (Fill-Or-Kill: 指定volume満たせなければ全キャンセル) は今のところ対応していないようです。

 

スリッページ指定付きの成行注文

ExecuteMarketOrderの成り行き注文では約定価格はマーケット任せだったのに対して、こちらは自分で約定価格を指定する注文です。基本的に指定された価格より有利な約定を目指しますが、不利方向へのズレをどこまで許容できるか指定できます。

ExecuteMarketRangeOrderメソッド

basePriceで価格を指定して、MarketRangePIpsで許容できるズレを指定します。条件に合わなかった場合は注文は成立せず、返り値TradeResultのErrorにTechnicalErrorが入ってきます。

(TradeResult) public TradeResult ExecuteMarketRangeOrder(TradeType tradeType,
                                                                string symbolName,
                                                                double volume, string label,
                                                              double marketRangePips,
                                                              double basePrice
                                                                double? stopLossPips,
                                                                double? takeProfitPips,
                                                                string comment,
                                                                bool hasTrailingStop,
                                                                StopTriggerMethod? stopLossTriggerMethod)

 

パラメータ

主だった引数はExecuteMarketOrderと同じなので省略します。

(double) marketRangePips

スリッページです。basePriceよりもこのmarketRangePIpsだけ不利な価格までは許容します。

(double) basePrice

注文価格です。基本的にこの価格より有利な価格での注文成立を要求します。

 

 

待機注文

Execute~Orderは即時実行される注文だったのに対し、Place~Orderの名前のメソッドは指値注文、逆指値注文のような条件を満たすまで待つ注文です。待機注文はメソッド呼び出し時に引数DateTime型で有効期限を指定できます。nullにしておけばGTC(Goog-Till-Cancel:キャンセルまで有効)となります。

 

指値注文

エントリー価格を指定する、普通の指値注文です。

PlaceLimitOrderメソッド

targetPriceで価格を指定し、expirationで有効期限を指定する以外はExecuteMarketOrderと同じです。

(TradeResult) PlaceLimitOrder(TradeType tradeType,
                                                 string symbolName,
                                                  double volume,
                                                double targetPrice,
                                                  string label,
                                                  double? stopLossPips,
                                                  double? takeProfitPips,
                                                DateTime? expiration,
                                                  string comment,
                                                  bool hasTrailingStop,

 

パラメータ
(double) targetPrice

約定価格を指定します。この価格、もしくはこれより有利な価格で約定します。

(DateTime?) expiration

有効期限を指定します。nullで有効期限なしです。

 

 

逆指値注文

指定した価格で約定が可能になり次第、成行注文を出す注文、つまり普通の逆指値注文です。

PlaceStopOrderメソッド

targetPriceで価格を指定、expirationで有効期限を指定するほかに、注文の執行基準をstopOrderTriggerMethodで指定できます。

(TradeResult) PlaceStopOrder(TradeType tradeType,
                                                string symbolName,
                                                double volume,
                                                double targetPrice,
                                                string label,
                                                double? stopLossPips,
                                                double? takeProfitPips,
                                              DateTime? expiration,
                                                string comment,
                                                bool hasTrailingStop,
                                                StopTriggerMethod? stopLossTriggerMethod,
                                                StopTriggerMethod stopOrderTriggerMethod)

 

パラメータ
(double) targetPrice

注文価格を指定します。この価格に到達次第、成行注文が出されます。

(DateTime?) expiration

有効期限を指定します。nullで有効期限なしです。

(StopTriggerMethod) stopOrderTriggerMethod

注文価格に到達したときの注文執行判断基準を表します。指定しなければ一瞬でも到達したら、即発注です。詳しくはこちらを。

 

 

ストップリミット注文

わかりやすく言うならスリッページ指定付き逆指値注文です。指定した価格で約定が可能になり次第、スリッページ指定で成り行き注文をだす注文です。

PlaceStopLimitOrderメソッド

スリッページをstopLimitRangePIpsで指定できます。

(TradeResult) PlaceStopLimitOrder(TradeType tradeType,
                                                        string symbolName,
                                                        double volume,
                                                      double targetPrice,
                                                      double stopLimitRangePips,
                                                        string label,
                                                        double? stopLossPips,
                                                        double? takeProfitPips,
                                                      DateTime? expiration,
                                                        string comment,
                                                        bool hasTrailingStop,
                                                        StopTriggerMethod? stopLossTriggerMethod,
                                                        StopTriggerMethod stopOrderTriggerMethod)

 

パラメータ
(double) targetPrice

注文価格を指定します。この価格に到達次第、成行注文が出されます。

(double) stopLimitRangePips

スリッページを指定します。

(DateTime?) expiration

有効期限を指定します。nullで有効期限なしです。

(StopTriggerMethod) stopOrderTriggerMethod

注文価格に到達したときの注文執行判断基準を表します。指定しなければ一瞬でも到達したら、即発注です。詳しくはこちらを。

 

ストップリミット注文はあまりなじみがない方もいそうなので、補足説明書きました。


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

新しいコメント

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

cTrader's Life

© 2025 ajinori