package main import ( "fmt" ) func main() { slice := make([]int, 2) fmt.Scanln(&slice[0], &slice[1]) A := slice[0] B := slice[1] uintA := uint(A) uintB := uint(B) max := 0 if A > B { max = A } else { max = B } counter := 0 for i := 0; i < max; i++ { for j := 0; j < max; j++ { orFlg := false andFlg := false uintX := uint(i) uintY := uint(j) // and if uintX&uintY == uintA { orFlg = true } // or if uintX|uintY == uintB { andFlg = true } if orFlg && andFlg { counter++ } } } fmt.Println(counter) }