package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
var n int
if _, err := fmt.Fscan(in, &n); err != nil {
return
}
pts := make([][5]int, n)
for i := 0; i < n; i++ {
for j := 0; j < 5; j++ {
fmt.Fscan(in, &pts[i][j])
}
}
var good []int
for i := 0; i < n; i++ {
isGood := true
for j := 0; j < n; j++ {
if i == j {
continue
}
for k := j + 1; k < n; k++ {
if i == k {
continue
}
dot := 0
for d := 0; d < 5; d++ {
dot += (pts[j][d] - pts[i][d]) * (pts[k][d] - pts[i][d])
}
if dot > 0 {
isGood = false
break
}
}
if !isGood {
break
}
}
if isGood {
good = append(good, i+1)
}
}
fmt.Println(len(good))
for _, idx := range good {
fmt.Println(idx)
}
}