The k algorithm