final basic program