package main import . "fmt" func main() { var n,m int Scan(&n,&m) if n == 1 { Println(0) return } else if n % 2 == 0 { Println(n*m) return } x := 0 for i := 32; i >= 0; i-- { b := 1 << i if b <= m { x = b break } } y := m^x for i := 32; i >= 0; i-- { b := 1 << i if (m&b) == 0 && (x|b)<=m && (y|b) <= m { x |= b y |= b } } ans := m*(n-1) if (x^y^m)==0 && x <= m && y <= m { ans = max(ans, m*(n-2) + x+y) } Println(ans) }