You are given a string `s` of length `n`. Your task is to return the next nice string based on lexicographic order of len n. A nice string is defined as a string in which no two adjacent characters are the same. For example, "abb" is not a nice string because "bb" are duplicate adjacent characters.
Please note that if the string contains "zz", it cannot be transformed into a nice string, and in such cases, you should return "-1". Additionally, the character 'z' cannot be increased as it is the last character and cannot be transformed into 'a'.