pseudocode-reasoning