← Home
```go
package main

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

func main() {
	reader := bufio.NewReader(os.Stdin)
	var n, m int
	fmt.Fscan(reader, &n, &m)

	totalMin := 0
	totalMax := 0

	for i := 0; i < n; i++ {
		var s string
		fmt.Fscan(reader, &s)

		t1 := 0
		for j := 0; j < m; j++ {
			if s[j] == '1' {
				t1++
			}
		}

		c11 := 0
		for j := 0; j < m-1; {
			if s[j] == '1' && s[j+1] == '1' {
				c11++
				j += 2
			} else {
				j++
			}
		}

		cGood := 0
		for j := 0; j < m-1; {
			if s[j] == '0' || s[j+1] == '0' {
				cGood++
				j += 2
			} else {
				j++
			}
		}

		minOcc := t1
		if c11 < m/4 {
			minOcc -= c11
		} else {
			minOcc -= m / 4
		}

		r := m/4 - cGood
		if r < 0 {
			r = 0
		}
		maxOcc := t1 - r

		totalMin += minOcc
		totalMax += maxOcc
	}

	fmt.Printf("%d %d\n", totalMin, totalMax)
}
```