Dynamic Programming Recursive Convolutional Code