package main import ( "fmt" ) func main() { var str []rune var s string _, err := fmt.Scanln(&s) for err == nil { str = []rune(s) for i, j := len(str)-1, len(str)-1; 1 <= i && 0 <= j; i-- { if isLower(str[i]) { for j = i - 1; 0 <= j && isLower(str[j]); j-- { } if j == -1 { break } for k := j + 1; k <= i; k++ { str[k-1], str[k] = str[k], str[k-1] } j-- } } fmt.Println(string(str)) _, err = fmt.Scanln(&s) } } func isLower(b rune) bool { return 'a' <= b && b <= 'z' }