```go
package main
import "fmt"
func main() {
var n int
fmt.Scan(&n)
adj := make([]string, n)
for i := 0; i < n; i++ {
fmt.Scan(&adj[i])
}
target := n - 1
visited := make([]bool, n)
queue := []int{0}
visited[0] = true
copies := 0
for len(queue) > 0 {
u := queue[0]
queue = queue[1:]
if adj[u][target] == '1' {
copies++
}
for v := 0; v < n; v++ {
if v != target && adj[u][v] == '1' && !visited[v] {
visited[v] = true
queue = append(queue, v)
}
}
}
fmt.Println(copies)
}
```