int catalan_number ( int n ); int i4_factorial ( int n ); void matrix_chain_brute ( int n_mats, int dims[], int *cost, int p[] ); bool pivot_sequence_check ( int n, int t[] ); int pivot_sequence_enum ( int n ); void pivot_sequence_successor ( int n, int t[] ); void pivot_sequence_to_matrix_chain_cost ( int n_mats, int p[], int dims[], int *cost );