package main import ( "fmt" "math" ) func main() { var n, k, ans int _, _ = fmt.Scan(&n, &k) higher := n - k // 先頭より大きい数字の数 if k > 1 { // 先頭より小さい数がある ans++ } if k == 1 { // 先頭より小さい数がない場合、先頭より大きい数から1つ最低にする数字を決める higher-- } if higher > 0 { // Kより大きくて好きに並び替えられる数字がある ans += int(math.Pow(2, float64(higher))) - 1 } fmt.Println(ans) }