Maximum Likelihood Decoding of Linear Codes on Binary-Input Memoryless Channels