The problem lies with the get_the_term_list() function, which is defined with the following arguments:
get_the_term_list( $id = 0, $taxonomy, $before="", $sep = '', $after="" )
You’re defining the $before
argument as true which PHP prints as 1 so that’s why it’s printing a 1 before the list. You should either remove the argument altogether:
get_the_term_list( $p, 'mountains' );
or replace it with a string:
get_the_term_list( $p, 'mountains', '<ul><li>', '</li><li>', '</li></ul>' );