For problem statement at 0-999/300-399/300-309/306/problemD.txt this is a correct solution, but verifier at 0-999/300-399/300-309/306/verifierD.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"fmt"
"math"
"math/rand"
"time"
)
func main() {
var n int
if _, err := fmt.Scan(&n); err != nil {
return
}
if n <= 4 {
fmt.Println("No solution")
return
}
r := rand.New(rand.NewSource(time.Now().UnixNano()))
x := make([]float64, n)
y := make([]float64, n)
l := make([]float64, n)
for {
for i := 0; i < n; i++ {
x[i] = r.Float64()*2.0 - 1.0
}
c1, d1 := 0.0, 0.0
for i := 0; i < n; i++ {
angle := 2.0 * math.Pi * float64(i+1) / float64(n)
c1 += x[i] * math.Cos(angle)
d1 += x[i] * math.Sin(angle)
}
c1 *= 2.0 / float64(n)
d1 *= 2.0 / float64(n)
ymin := math.MaxFloat64
ymax := -math.MaxFloat64
for i := 0; i < n; i++ {
angle := 2.0 * math.Pi * float64(i+1) / float64(n)
y[i] = x[i] - c1*math.Cos(angle) - d1*math.Sin(angle)
if y[i] < ymin {
ymin = y[i]
}
if y[i] > ymax {
ymax = y[i]
}
}
if ymax-ymin < 1e-6 {
continue
}
S := 400.0 / (ymax - ymin)
for i := 0; i < n; i++ {
l[i] = y[i]*S + 500.0 - ymin*S
}
valid := true
for i := 0; i < n; i++ {
for j := i + 1; j < n; j++ {
if math.Abs(l[i]-l[j]) < 0.1 {
valid = false
break
}
}
if !valid {
break
}
}
if valid {
break
}
}
cx, cy := 0.0, 0.0
for i := 0; i < n; i++ {
fmt.Printf("%.9f %.9f\n", cx, cy)
angle := float64(i) * 2.0 * math.Pi / float64(n)
cx += l[i] * math.Cos(angle)
cy += l[i] * math.Sin(angle)
}
}
```