```go
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for ; t > 0; t-- {
var n int
fmt.Fscan(in, &n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
idx := make([]int, n)
for i := 0; i < n; i++ {
idx[i] = i
}
sort.Slice(idx, func(i, j int) bool {
return a[idx[i]] < a[idx[j]]
})
b := make([]int, n)
for i := 0; i < n; i++ {
next := (i + 1) % n
b[idx[i]] = a[idx[next]]
}
for i := 0; i < n; i++ {
fmt.Fprint(out, b[i], " ")
}
fmt.Fprintln(out)
}
}
```