Given a string s and an integer m, partition s into exactly m non-empty contiguous substrings and change the minimum number of characters so that every substring becomes a palindrome. Return the minimum number of character changes required and one resulting list of the m palindromic substrings obtained after applying those changes. If it is impossible to partition s into exactly m non-empty parts (i.e., m > len(s) or m <= 0), return (-1, []).
("abcbaefg", 2)(1, ['abcba', 'efe'])