object Main { } !(used(0) && used(1) && used(2) && used(3)) } println("error") } println(s"code: ${code.toBinaryString.padTo(15, ' ').tail} input: ${input.toBinaryString.tail}") code += 1 } inputLen += 2 input = 1.toLong << inputLen inputMax = input * 2 - 1 code <<= 2 codeLen += 2 codeMax = codeMax * 4 + 3 input += 1 } } } }
Standard input is empty
code: 0000 input: 00 code: 0001 input: 01 code: 0010 input: 10 code: 0011 input: 11 code: 010000 input: 0000 code: 010001 input: 0001 code: 010010 input: 0010 code: 010011 input: 0011 code: 010100 input: 0100 code: 010101 input: 0101 code: 010110 input: 0110 code: 010111 input: 0111 code: 011000 input: 1000 code: 011001 input: 1001 code: 011010 input: 1010 code: 011011 input: 1011 code: 011100 input: 1100 code: 011101 input: 1101 code: 011110 input: 1110 code: 011111 input: 1111 code: 10000000 input: 000000 code: 10000001 input: 000001 code: 10000010 input: 000010 code: 10000011 input: 000011 code: 10000100 input: 000100 code: 10000101 input: 000101 code: 10000110 input: 000110 code: 10000111 input: 000111 code: 10001000 input: 001000 code: 10001001 input: 001001 code: 10001010 input: 001010 code: 10001011 input: 001011 code: 10001100 input: 001100 code: 10001101 input: 001101 code: 10001110 input: 001110 code: 10001111 input: 001111 code: 10010000 input: 010000 code: 10010001 input: 010001 code: 10010010 input: 010010 code: 10010011 input: 010011 code: 10010100 input: 010100 code: 10010101 input: 010101 code: 10010110 input: 010110 code: 10010111 input: 010111 code: 10011000 input: 011000 code: 10011001 input: 011001 code: 10011010 input: 011010 code: 10011011 input: 011011 code: 10011100 input: 011100 code: 10011101 input: 011101 code: 10011110 input: 011110 code: 10011111 input: 011111 code: 10100000 input: 100000 code: 10100001 input: 100001 code: 10100010 input: 100010 code: 10100011 input: 100011 code: 10100100 input: 100100 code: 10100101 input: 100101 code: 10100110 input: 100110 code: 10100111 input: 100111 code: 10101000 input: 101000 code: 10101001 input: 101001 code: 10101010 input: 101010 code: 10101011 input: 101011 code: 10101100 input: 101100 code: 10101101 input: 101101 code: 10101110 input: 101110 code: 10101111 input: 101111 code: 10110000 input: 110000 code: 10110001 input: 110001 code: 10110010 input: 110010 code: 10110011 input: 110011 code: 10110100 input: 110100 code: 10110101 input: 110101 code: 10110110 input: 110110 code: 10110111 input: 110111 code: 10111000 input: 111000 code: 10111001 input: 111001 code: 10111010 input: 111010 code: 10111011 input: 111011 code: 10111100 input: 111100 code: 10111101 input: 111101 code: 10111110 input: 111110 code: 10111111 input: 111111 code: 1100000000 input: 00000000 code: 1100000001 input: 00000001 code: 1100000010 input: 00000010 code: 1100000011 input: 00000011 code: 1100000100 input: 00000100 code: 1100000101 input: 00000101 code: 1100000110 input: 00000110 code: 1100000111 input: 00000111 code: 1100001000 input: 00001000 code: 1100001001 input: 00001001 code: 1100001010 input: 00001010 code: 1100001011 input: 00001011 code: 1100001100 input: 00001100 code: 1100001101 input: 00001101 code: 1100001110 input: 00001110 code: 1100001111 input: 00001111 code: 1100010000 input: 00010000 code: 1100010001 input: 00010001 code: 1100010010 input: 00010010 code: 1100010011 input: 00010011 code: 1100010100 input: 00010100 code: 1100010101 input: 00010101 code: 1100010110 input: 00010110 code: 1100010111 input: 00010111 code: 1100011000 input: 00011000 code: 1100011001 input: 00011001 code: 1100011010 input: 00011010 code: 1100011011 input: 00011100 code: 1100011100 input: 00011101 code: 1100011101 input: 00011111 code: 1100011110 input: 00100000 code: 1100011111 input: 00100001 code: 1100100000 input: 00100010 code: 1100100001 input: 00100011 code: 1100100010 input: 00100100 code: 1100100011 input: 00100101 code: 1100100100 input: 00100110 code: 1100100101 input: 00101000 code: 1100100110 input: 00101001 code: 1100100111 input: 00101010 code: 1100101000 input: 00101011 code: 1100101001 input: 00101100 code: 1100101010 input: 00101110 code: 1100101011 input: 00101111 code: 1100101100 input: 00110000 code: 1100101101 input: 00110001 code: 1100101110 input: 00110010 code: 1100101111 input: 00110011 code: 1100110000 input: 00110100 code: 1100110001 input: 00110101 code: 1100110010 input: 00110111 code: 1100110011 input: 00111000 code: 1100110100 input: 00111010 code: 1100110101 input: 00111011 code: 1100110110 input: 00111100 code: 1100110111 input: 00111101 code: 1100111000 input: 00111110 code: 1100111001 input: 00111111 code: 1100111010 input: 01000000 code: 1100111011 input: 01000001 code: 1100111100 input: 01000010 code: 1100111101 input: 01000011 code: 1100111110 input: 01000100 code: 1100111111 input: 01000101 code: 1101000000 input: 01000110 code: 1101000001 input: 01000111 code: 1101000010 input: 01001000 code: 1101000011 input: 01001001 code: 1101000100 input: 01001010 code: 1101000101 input: 01001100 code: 1101000110 input: 01001101 code: 1101000111 input: 01001111 code: 1101001000 input: 01010000 code: 1101001001 input: 01010001 code: 1101001010 input: 01010010 code: 1101001011 input: 01010011 code: 1101001100 input: 01010100 code: 1101001101 input: 01010101 code: 1101001110 input: 01010110 code: 1101001111 input: 01010111 code: 1101010000 input: 01011000 code: 1101010001 input: 01011001 code: 1101010010 input: 01011010 code: 1101010011 input: 01011011 code: 1101010100 input: 01011100 code: 1101010101 input: 01011101 code: 1101010110 input: 01011110 code: 1101010111 input: 01011111 code: 1101011000 input: 01100000 code: 1101011001 input: 01100001 code: 1101011010 input: 01100010 code: 1101011011 input: 01100100 code: 1101011100 input: 01100101 code: 1101011101 input: 01100110 code: 1101011110 input: 01100111 code: 1101011111 input: 01101000 code: 1101100000 input: 01101001 code: 1101100001 input: 01101010 code: 1101100010 input: 01101011 code: 1101100011 input: 01101101 code: 1101100100 input: 01101110 code: 1101100101 input: 01101111 code: 1101100110 input: 01110000 code: 1101100111 input: 01110001 code: 1101101000 input: 01110011 code: 1101101001 input: 01110100 code: 1101101010 input: 01110101 code: 1101101011 input: 01110110 code: 1101101100 input: 01110111 code: 1101101101 input: 01111001 code: 1101101110 input: 01111010 code: 1101101111 input: 01111011 code: 1101110000 input: 01111100 code: 1101110001 input: 01111101 code: 1101110010 input: 01111110 code: 1101110011 input: 01111111 code: 1101110100 input: 10000000 code: 1101110101 input: 10000001 code: 1101110110 input: 10000010 code: 1101110111 input: 10000011 code: 1101111000 input: 10000100 code: 1101111001 input: 10000101 code: 1101111010 input: 10000110 code: 1101111011 input: 10001000 code: 1101111100 input: 10001001 code: 1101111101 input: 10001010 code: 1101111110 input: 10001011 code: 1101111111 input: 10001100 code: 1110000000 input: 10001110 code: 1110000001 input: 10001111 code: 1110000010 input: 10010000 code: 1110000011 input: 10010001 code: 1110000100 input: 10010010 code: 1110000101 input: 10010100 code: 1110000110 input: 10010101 code: 1110000111 input: 10010110 code: 1110001000 input: 10010111 code: 1110001001 input: 10011000 code: 1110001010 input: 10011001 code: 1110001011 input: 10011010 code: 1110001100 input: 10011011 code: 1110001101 input: 10011101 code: 1110001110 input: 10011110 code: 1110001111 input: 10011111 code: 1110010000 input: 10100000 code: 1110010001 input: 10100001 code: 1110010010 input: 10100010 code: 1110010011 input: 10100011 code: 1110010100 input: 10100100 code: 1110010101 input: 10100101 code: 1110010110 input: 10100110 code: 1110010111 input: 10100111 code: 1110011000 input: 10101000 code: 1110011001 input: 10101001 code: 1110011010 input: 10101010 code: 1110011011 input: 10101011 code: 1110011100 input: 10101100 code: 1110011101 input: 10101101 code: 1110011110 input: 10101110 code: 1110011111 input: 10101111 code: 1110100000 input: 10110000 code: 1110100001 input: 10110010 code: 1110100010 input: 10110011 code: 1110100011 input: 10110101 code: 1110100100 input: 10110110 code: 1110100101 input: 10110111 code: 1110100110 input: 10111000 code: 1110100111 input: 10111001 code: 1110101000 input: 10111010 code: 1110101001 input: 10111011 code: 1110101010 input: 10111100 code: 1110101011 input: 10111101 code: 1110101100 input: 10111110 code: 1110101101 input: 10111111 code: 1110101110 input: 11000000 code: 1110101111 input: 11000001 code: 1110110000 input: 11000010 code: 1110110001 input: 11000011 code: 1110110010 input: 11000100 code: 1110110011 input: 11000101 code: 1110110100 input: 11000111 code: 1110110101 input: 11001000 code: 1110110110 input: 11001010 code: 1110110111 input: 11001011 code: 1110111000 input: 11001100 code: 1110111001 input: 11001101 code: 1110111010 input: 11001110 code: 1110111011 input: 11001111 code: 1110111100 input: 11010000 code: 1110111101 input: 11010001 code: 1110111110 input: 11010011 code: 1110111111 input: 11010100 code: 1111000000 input: 11010101 code: 1111000001 input: 11010110 code: 1111000010 input: 11010111 code: 1111000011 input: 11011001 code: 1111000100 input: 11011010 code: 1111000101 input: 11011011 code: 1111000110 input: 11011100 code: 1111000111 input: 11011101 code: 1111001000 input: 11011110 code: 1111001001 input: 11011111 code: 1111001010 input: 11100000 code: 1111001011 input: 11100010 code: 1111001100 input: 11100011 code: 1111001101 input: 11100101 code: 1111001110 input: 11100110 code: 1111001111 input: 11100111 code: 1111010000 input: 11101000 code: 1111010001 input: 11101001 code: 1111010010 input: 11101010 code: 1111010011 input: 11101011 code: 1111010100 input: 11101100 code: 1111010101 input: 11101101 code: 1111010110 input: 11101110 code: 1111010111 input: 11101111 code: 1111011000 input: 11110000 code: 1111011001 input: 11110001 code: 1111011010 input: 11110010 code: 1111011011 input: 11110011 code: 1111011100 input: 11110100 code: 1111011101 input: 11110101 code: 1111011110 input: 11110110 code: 1111011111 input: 11110111 code: 1111100000 input: 11111000 code: 1111100001 input: 11111001 code: 1111100010 input: 11111010 code: 1111100011 input: 11111011 code: 1111100100 input: 11111100 code: 1111100101 input: 11111101 code: 1111100110 input: 11111110 code: 1111100111 input: 11111111 code: 111110100000 input: 0000000000 code: 111110100001 input: 0000000001 code: 111110100010 input: 0000000010 code: 111110100011 input: 0000000011 code: 111110100100 input: 0000000100 code: 111110100101 input: 0000000101 code: 111110100110 input: 0000000110 code: 111110100111 input: 0000000111 code: 111110101000 input: 0000001000 code: 111110101001 input: 0000001001 code: 111110101010 input: 0000001010 code: 111110101011 input: 0000001011 code: 111110101100 input: 0000001100 code: 111110101101 input: 0000001101 code: 111110101110 input: 0000001110 code: 111110101111 input: 0000001111 code: 111110110000 input: 0000010000 code: 111110110001 input: 0000010001 code: 111110110010 input: 0000010010 code: 111110110011 input: 0000010011 code: 111110110100 input: 0000010100 code: 111110110101 input: 0000010101 code: 111110110110 input: 0000010110 code: 111110110111 input: 0000010111 code: 111110111000 input: 0000011000 code: 111110111001 input: 0000011001 code: 111110111010 input: 0000011010 code: 111110111011 input: 0000011100 code: 111110111100 input: 0000011101 code: 111110111101 input: 0000011111 code: 111110111110 input: 0000100000 code: 111110111111 input: 0000100001 code: 111111000000 input: 0000100010 code: 111111000001 input: 0000100011 code: 111111000010 input: 0000100100 code: 111111000011 input: 0000100101 code: 111111000100 input: 0000100110 code: 111111000101 input: 0000101000 code: 111111000110 input: 0000101001 code: 111111000111 input: 0000101010 code: 111111001000 input: 0000101011 code: 111111001001 input: 0000101100 code: 111111001010 input: 0000101110 code: 111111001011 input: 0000101111 code: 111111001100 input: 0000110000 code: 111111001101 input: 0000110001 code: 111111001110 input: 0000110010 code: 111111001111 input: 0000110011 code: 111111010000 input: 0000110100 code: 111111010001 input: 0000110101 code: 111111010010 input: 0000110111 code: 111111010011 input: 0000111000 code: 111111010100 input: 0000111010 code: 111111010101 input: 0000111011 code: 111111010110 input: 0000111100 code: 111111010111 input: 0000111101 code: 111111011000 input: 0000111110 code: 111111011001 input: 0000111111 code: 111111011010 input: 0001000000 code: 111111011011 input: 0001000001 code: 111111011100 input: 0001000010 code: 111111011101 input: 0001000011 code: 111111011110 input: 0001000100 code: 111111011111 input: 0001000101 code: 111111100000 input: 0001000110 code: 111111100001 input: 0001000111 code: 111111100010 input: 0001001000 code: 111111100011 input: 0001001001 code: 111111100100 input: 0001001010 code: 111111100101 input: 0001001100 code: 111111100110 input: 0001001101 code: 111111100111 input: 0001001111 code: 111111101000 input: 0001010000 code: 111111101001 input: 0001010001 code: 111111101010 input: 0001010010 code: 111111101011 input: 0001010011 code: 111111101100 input: 0001010100 code: 111111101101 input: 0001010101 code: 111111101110 input: 0001010110 code: 111111101111 input: 0001010111 code: 111111110000 input: 0001011000 code: 111111110001 input: 0001011001 code: 111111110010 input: 0001011010 code: 111111110011 input: 0001011100 code: 111111110100 input: 0001011101 code: 111111110101 input: 0001011111 code: 111111110110 input: 0001100000 code: 111111110111 input: 0001100001 code: 111111111000 input: 0001100010 code: 111111111001 input: 0001100100 code: 111111111010 input: 0001100101 code: 111111111011 input: 0001100110 code: 111111111100 input: 0001101000 code: 111111111101 input: 0001101001 code: 111111111110 input: 0001101010 code: 111111111111 input: 0001110000 error