← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	var n, m int
	fmt.Scan(&n, &m)
	
	F := make([][]int, n+2)
	for i := 0; i < n+2; i++ {
		F[i] = make([]int, m+2)
	}
	
	scanner := bufio.NewScanner(os.Stdin)
	for i := 1; i <= n; i++ {
		scanner.Scan()
		line := scanner.Text()
		for j := 1; j <= m; j++ {
			if line[j-1] == 'W' {
				F[i][j] = 1
			} else {
				F[i][j] = -1
			}
		}
	}
	
	ans := 0
	for i := n; i >= 1; i-- {
		for j := m; j >= 1; j-- {
			val := F[i][j] - F[i+1][j] - F[i][j+1] + F[i+1][j+1]
			if val != 0 {
				ans++
			}
		}
	}
	
	fmt.Println(ans)
}
```