fn lut(d:u8)->[&u8;4]{
// d >15, d is invalid
let table = [
['0','0','0','0'],
['0','0','0','1'],
['0','0','1','0'],
['0','0','1','1'],
['0','1','0','0'],
['0','1','0','1'],
['0','1','1','0'],
['0','1','1','1'],
['1','0','0','0'],
['1','0','0','1'],
['1','0','1','0'],
['1','0','1','1'],
['1','1','0','0'],
['1','1','0','1'],
['1','1','1','0'],
['1','1','1','1'],
]
}