← Home
Looking at this problem, I need to:
1. Find a position in string `t` where `s` can match as a substring with minimal character replacements
2. Each position where `s[i] ≠ t[start+i]` needs to be replaced with '?'
3. Track the best starting position in `t` and output the mismatched positions

**Approach:**
- For each possible starting position in `t` (from 0 to m-n), count how many characters differ between `s` and the substring `t[start:start+n]`
- Find the starting position with minimum mismatches
- Output the count and the 1-indexed positions of mismatches

```go
package main

import "fmt"

func main() {
	var n, m int
	fmt.Scan(&n, &m)
	
	var s, t string
	fmt.Scan(&s)
	fmt.Scan(&t)
	
	minReplacements := n + 1
	bestStart := 0
	
	for start := 0; start <= m-n; start++ {
		replacements := 0
		for i := 0; i < n; i++ {
			if s[i] != t[start+i] {
				replacements++
			}
		}
		if replacements < minReplacements {
			minReplacements = replacements
			bestStart = start
		}
	}
	
	fmt.Println(minReplacements)
	
	sep := ""
	for i := 0; i < n; i++ {
		if s[i] != t[bestStart+i] {
			fmt.Print(sep, i+1)
			sep = " "
		}
	}
	fmt.Println()
}
```