It's one more school day now. Sasha doesn't like classes and is always bored at them. So, each day he invents some game and plays in it alone or with friends.

Today he invented one simple game to play with Lena, with whom he shares a desk. The rules are simple. Sasha draws n sticks in a row. After that the players take turns crossing out exactly k sticks from left or right in each turn. Sasha moves first, because he is the inventor of the game. If there are less than k sticks on the paper before some turn, the game ends. Sasha wins if he makes strictly more moves than Lena. Sasha wants to know the result of the game before playing, you are to help him.


-----Input-----

The first line contains two integers n and k (1 ≤ n, k ≤ 10^18, k ≤ n) — the number of sticks drawn by Sasha and the number k — the number of sticks to be crossed out on each turn.


-----Output-----

If Sasha wins, print "YES" (without quotes), otherwise print "NO" (without quotes).

You can print each letter in arbitrary case (upper of lower).


-----Examples-----
Input
1 1

Output
YES

Input
10 4

Output
NO



-----Note-----

In the first example Sasha crosses out 1 stick, and then there are no sticks. So Lena can't make a move, and Sasha wins.

In the second example Sasha crosses out 4 sticks, then Lena crosses out 4 sticks, and after that there are only 2 sticks left. Sasha can't make a move. The players make equal number of moves, so Sasha doesn't win.

Difficulty: EASY

Solutions:
(n, k) = map(int, input().split())
s = n // k
if s % 2 == 1:
	print('YES')
else:
	print('NO')


(a, b) = map(int, input().split())
k = a // b
if k % 2 == 0:
	print('NO')
else:
	print('YES')


import sys
import math
import bisect

def main():
	(n, m) = map(int, input().split())
	if n // m % 2 == 1:
		print('YES')
	else:
		print('NO')
main()


(n, k) = input().split()
n = int(n)
k = int(k)
a = n // k
if a % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = list(map(int, input().split(' ')))
if n // k % 2 == 0:
	print('NO')
else:
	print('YES')


(n, a) = map(int, input().split())
if not n // a % 2:
	print('NO')
else:
	print('YES')


def solve(n, k):
	return 'YES' if n // k % 2 == 1 else 'NO'

def main():
	(n, k) = list(map(int, input().split()))
	print(solve(n, k))
main()


(a, b) = [int(x) for x in input().split()]
if a // b % 2 == 1:
	print('YES')
else:
	print('NO')


n_k = input().split(' ')
sticks = int(n_k[0])
k = int(n_k[1])
sasha = 0
lena = 0
i = 0
if sticks // k % 2 != 0:
	print('YES')
else:
	print('NO')


inp = input().split()
n = int(inp[0])
k = int(inp[1])
if n // k % 2 == 0:
	print('NO')
else:
	print('YES')


def takesticks(n, k):
	if n % k == 0 and n % 2 != n % 2 or n // k % 2 == 0:
		return False
	return True

def test(n, k):
	counter = 0
	while True:
		counter += 1
		if n - counter * k < k:
			if counter % 2 == 1:
				return True
			return False
while True:
	try:
		case = input()
		temp = case.split(' ')
		temp[0] = int(temp[0])
		temp[1] = int(temp[1])
		if takesticks(temp[0], temp[1]):
			print('YES')
		else:
			print('NO')
	except EOFError:
		break


(n, k) = map(int, input().split())
if n // k & 1 == 0:
	print('NO')
else:
	print('YES')


(n, k) = map(int, input().split())
z = n // k
if z % 2 != 0 or n == k:
	print('YES')
else:
	print('NO')


(a, b) = map(int, input().split())
if a % b == 0 and a // b % 2 == 1:
	print('YES')
elif a % b == 0 and a // b % 2 == 0:
	print('NO')
elif a % b > 0 and a // b % 2 == 0:
	print('NO')
elif a % b > 0 and a // b % 2 == 1:
	print('YES')


from math import floor

def solve(n, k):
	if n // k % 2 != 0:
		return True
	return False
(N, K) = [int(i) for i in input().split()]
if solve(N, K) == True:
	print('YES')
else:
	print('NO')


N = input().split()
n = int(N[0])
k = int(N[1])
m = n // k
if m % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = input().split()
print(('NO', 'YES')[int(n) // int(k) % 2])


(n, m) = map(int, input().split())
if n // m % 2 == 0:
	print('NO')
else:
	print('YES')


(s, l) = map(int, input().split())
P = s // l
if P % 2 == 0:
	print('NO')
else:
	print('YES')


import sys
from math import sqrt, floor, factorial
from collections import deque, Counter
inp = sys.stdin.readline
read = lambda : list(map(int, inp().strip().split()))

def solve():
	(n, k) = read()
	c = n // k
	print('YNEOS'[not c % 2::2])
solve()


(n, k) = [int(i) for i in input().strip().split(' ')]
d = n // k
if d % 2 == 0:
	print('NO')
else:
	print('YES')


raw_1 = list(map(int, input().split()))

def sasha(n):
	k = raw_1[1]
	if n // k % 2 == 0:
		return 'NO'
	else:
		return 'YES'
print(sasha(raw_1[0]))


(n, k) = input().split()
n = int(n)
k = int(k)
move = n // k
if move % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = [int(i) for i in input().split()]
quotient = n // k
if quotient % 2 == 1:
	print('YES')
else:
	print('NO')


inps = input()
inps = inps.split()
n = int(inps[0])
k = int(inps[1])
gave = n // k
if gave % 2 == 1:
	print('YES')
else:
	print('NO')


(a, b) = input().split()
a = int(a)
b = int(b)
a = a // b
if int(a % 2) == 1:
	print('YES')
else:
	print('NO')


def stick():
	S = input()
	sList = S.split()
	sList = [int(i) for i in sList]
	n = sList[0]
	k = sList[1]
	cntS = 0
	cntL = 0
	if n // k % 2 == 1:
		print('YES')
	elif n // k % 2 == 0:
		print('NO')
stick()


s = input()
a = s.split(' ')
if int(a[0]) // int(a[1]) % 2 == 1:
	print('YES')
else:
	print('NO')


piedritas = list(map(int, input().split()))
if piedritas[0] // piedritas[1] % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = [int(i) for i in input().split()]
print(['YES', 'NO'][int((n + k) // k) % 2 == 1])


x = lambda : list(map(int, input().split()))
(n, k) = x()
turn = 0
res = n // k
if res % 2 != 0:
	print('YES')
else:
	print('NO')


def main():
	[n, k] = [int(_) for _ in input().split()]
	moves = n // k
	print('NO' if moves % 2 == 0 else 'YES')
main()


(n, k) = map(int, input().split())
print('YNEOS'[1 - n // k % 2::2])


inp = input()
(n1, n2) = inp.split()
n = int(n1)
k = int(n2)
t = int(n // k)
if t % 2 == 1:
	print('YES')
else:
	print('NO')


import math
(n, k) = map(int, input().split())
print('NO' if math.floor(n // k) % 2 == 0 else 'YES')


(n, m) = map(int, input().strip().split(' '))
k = n // m
if k % 2 == 1:
	print('YES')
else:
	print('NO')


(N, K) = map(int, input().split())
if N // K % 2 == 0:
	print('NO')
else:
	print('YES')


a = [int(a) for a in input().split()]
if a[0] % (2 * a[1]) >= a[1]:
	print('YES')
else:
	print('NO')


(m, k) = map(int, input().split())
f = m // k & 1
print('YES' if f else 'NO')


print((lambda n, k: ['NO', 'YES'][n // k % 2])(*map(int, input().split())))


from sys import stdin

def iinput():
	return int(stdin.readline())

def sinput():
	return input()

def minput():
	return map(int, stdin.readline().split())

def linput():
	return list(map(int, stdin.readline().split()))
(n, k) = minput()
move = n // k
print('YES' if move & 1 else 'NO')


(n, k) = map(int, input().split())
if 1 <= n and k <= pow(10, 18) and (k <= n):
	if n // k % 2 != 0:
		print('YES')
	else:
		print('NO')


(n, k) = map(int, input().strip().split())
x = n // k
if x & 1 == 1:
	print('YES')
else:
	print('NO')


(n, d) = map(int, input().split(' '))
if n % d != 0:
	if n // d % 2 != 0:
		print('YES')
	else:
		print('NO')
elif n // d % 2 != 0:
	print('YES')
else:
	print('NO')


def ii():
	return int(input())

def mi():
	return map(int, input().split())

def si():
	return [int(x) for x in input().split()]

def ss():
	return [x for x in input()]
(a, b) = mi()
if a // b % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = [int(i) for i in input().split()]
if n // k % 2 == 0:
	print('NO')
elif n // k % 2 == 1:
	print('YES')


import math

def ria():
	return [int(i) for i in input().split()]
(n, k) = ria()
assert k > 0
if n // k % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = map(int, input().split())
print(['YES', 'NO'][n // k % 2 == 0])


def is_sasha_winner(n, k):
	return n // k % 2 != 0
(n, k) = map(int, input().split())
print('YES' if is_sasha_winner(n, k) else 'NO')


stock = [int(s) for s in input().split()]
if stock[0] // stock[1] % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = [int(s) for s in input().split()]
r = n % k
turns = (n - r) // k
if turns % 2 == 0:
	print('NO')
else:
	print('YES')


(x, y) = input().split()
x = int(x)
y = int(y)
x = x // y
if x % 2 == 1:
	print('YES')
else:
	print('NO')


import sys
(n, k) = [int(x) for x in sys.stdin.read().strip().split(' ')]
if n // k % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = map(int, input().split())
x = n // k
f = x % 2 > 0
if f > 0:
	print('YES')
else:
	print('NO')


(n, k) = [int(i) for i in input().split()]
steps = n // k + 1
if steps == 1 or steps % 2 == 0:
	print('YES')
else:
	print('NO')


(n, k) = map(int, input().strip().split())
div = n // k
mod = n % k
if div % 2 == 0:
	print('NO')
else:
	print('YES')


b = [int(x) for x in str(input()).split()]
N = b[0]
K = b[1]
if N // K % 2 == 1:
	print('YES')
else:
	print('NO')


a = list(map(int, input().split()))
print(a[0] % (a[1] * 2) < a[1] and 'NO' or (True and 'YES'))


(a, b) = [int(x) for x in input().split()]
k = a // b
if k % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = list(map(int, input().split()))
res = n // k
if res % 2 == 1:
	print('YES')
else:
	print('NO')


import math
from collections import *
import sys
from functools import reduce

def get_ints():
	return map(int, input().strip().split())

def get_list():
	return list(get_ints())

def get_string():
	return list(input().strip().split())

def printxsp(*args):
	return print(*args, end='')

def printsp(*args):
	return print(*args, end=' ')
DIRECTIONS = [[0, 1], [0, -1], [1, 0], [1, -1]]
NEIGHBOURS = [(i, j) for i in range(-1, 2) for j in range(-1, 2) if i != 0 or j != 0]
OrdUnicode_a = ord('a')
OrdUnicode_A = ord('A')
CAPS_ALPHABETS = {chr(i + OrdUnicode_A): i for i in range(26)}
SMOL_ALPHABETS = {chr(i + OrdUnicode_a): i for i in range(26)}
UGLYMOD = int(1000000000.0) + 7
SEXYMOD = 998244353
MAXN = int(100000.0) + 1
(n, k) = get_ints()
print('YES' if n // k & 1 else 'NO')


(n, k) = [int(i) for i in input().split()]
if 1 <= 10 * 18 and n <= 10 ** 18 and (k <= 10 ** 18):
	if n // k % 2 == 0:
		print('NO')
	else:
		print('YES')
else:
	print('NO')


q = input().split()
for i in range(len(q)):
	q[i] = int(q[i])
c = int(q[0] // q[1])
if c % 2 == 0:
	print('NO')
elif c % 2 != 0:
	print('YES')


(n, k) = list(map(int, input().split()))
if n % k == 0 and n // k % 2 == 1:
	print('YES')
elif n % k == 0 and n // k % 2 == 0:
	print('NO')
elif n // k % 2 == 0:
	print('NO')
else:
	print('YES')


(sticks, cut) = [int(x) for x in input().split()]
cuts_done = sticks // cut
if cuts_done % 2 == 0:
	print('NO')
else:
	print('YES')


(n, h) = map(int, input().split())
if n // h % 2:
	print('YES')
else:
	print('NO')


def list_input():
	return list(map(int, input().split()))
[n, k] = list_input()
d = n // k
if d % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = map(int, input().split())
h = n // k
if not h:
	print('NO')
elif h % 2:
	print('YES')
else:
	print('NO')


import math
from collections import deque
import sys
from sys import stdin, stderr, stdout
(n, k) = list(map(int, stdin.readline().strip().split()))
a = n // k
if a % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = map(int, input().split())
z = 0
s = 0
l = 0
z = n // k
if z % 2 == 0:
	print('NO')
else:
	print('YES')


import os
import sys
from io import BytesIO, IOBase
import math

def main():
	pass
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def binary(n):
	return bin(n).replace('0b', '')

def decimal(s):
	return int(s, 2)

def pow2(n):
	p = 0
	while n > 1:
		n //= 2
		p += 1
	return p

def primeFactors(n):
	l = []
	while n % 2 == 0:
		l.append(2)
		n = n / 2
	for i in range(3, int(math.sqrt(n)) + 1, 2):
		while n % i == 0:
			l.append(i)
			n = n / i
	if n > 2:
		l.append(int(n))
	return l

def isPrime(n):
	if n == 1:
		return False
	else:
		root = int(n ** 0.5)
		root += 1
		for i in range(2, root):
			if n % i == 0:
				return False
		return True

def maxPrimeFactors(n):
	maxPrime = -1
	while n % 2 == 0:
		maxPrime = 2
		n >>= 1
	for i in range(3, int(math.sqrt(n)) + 1, 2):
		while n % i == 0:
			maxPrime = i
			n = n / i
	if n > 2:
		maxPrime = n
	return int(maxPrime)
(n, k) = map(int, input().split())
if n // k % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
res = int(n // k)
if res % 2 == 1:
	print('YES')
else:
	print('NO')


def int_lst_input():
	return [int(val) for val in input().split(' ')]

def int_input():
	return int(input())

def print_lst(lst):
	print(' '.join([str(val) for val in lst]))

def solve():
	(n, k) = int_lst_input()
	if n // k % 2 == 1:
		print('YES')
	else:
		print('NO')
solve()


a = [int(x) for x in input().split()]
n = a[0]
k = a[1]
rem = n % k
quo = n // k
if quo % 2 is 0:
	if rem < k:
		print('NO')
elif rem < k:
	print('YES')


(n, k) = map(int, input().split())
(t, r) = divmod(n, k)
if t % 2 != 0:
	print('YES')
else:
	print('NO')


(a, b) = list(map(int, input().split()))
x = a // b
if x % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = map(int, input().split())
e = False
a = n // k
if a % 2 != 0:
	e = True
if e:
	print('YES')
else:
	print('NO')


def main():
	a = input().split(' ')
	a = [int(x) for x in a]
	if a[0] // a[1] % 2 == 0:
		print('NO')
	else:
		print('YES')
main()


(n, k) = [int(s) for s in input().split(' ')]
if n // k % 2 == 1:
	print('YES')
else:
	print('NO')


(n, k) = [int(x) for x in input().split()]
print(['NO', 'YES'][n // k % 2])


(n, m) = map(int, input().split())
n = n // m
if n & 1:
	print('YES')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
(d, m) = divmod(n, k)
if d % 2 == 0:
	print('NO')
else:
	print('YES')


(x, y) = map(int, input().split())
if x // y % 2 == 0:
	print('NO')
else:
	print('YES')


def readline():
	return list(map(int, input().split()))

def main():
	(n, k) = readline()
	if n // k % 2 == 0:
		print('NO')
	else:
		print('YES')
main()


from sys import stdin, stdout
(n, k) = map(int, stdin.readline().rstrip().split())
c = n // k
m = n % k
if c % 2 == 1:
	stdout.write('YES')
else:
	stdout.write('NO')


(n, m) = [int(i) for i in input().split()]
s = n // m
if s % 2 == 1:
	print('YES')
else:
	print('NO')


import sys
(n, k) = map(int, input().split())
z = n // k
if z % 2 == 1:
	print('YES')
else:
	print('NO')


(n, c) = map(int, input().split())
if n // c % 2:
	print('YES')
else:
	print('NO')


a = list(map(int, input().split()))
b = a[0]
c = a[1]
b = b - c
if b // c % 2 == 0:
	print('YES')
else:
	print('NO')


string = input()
numbers = string.split()
(a, b) = (int(numbers[0]), int(numbers[1]))
n = a // b
if n % 2 == 1:
	print('YES')
else:
	print('NO')


def main():
	(n, k) = map(int, input().split())
	turns = n // k
	if turns % 2 != 0:
		print('YES')
	else:
		print('NO')
main()


(l, n) = map(int, input().split())
ans = l // n
if ans % 2 != 0:
	print('YES')
else:
	print('NO')


(a, b) = map(int, input().split())
print(['YES', 'NO'][a // b % 2 == 0])


f = lambda : map(int, input().split())
(n, k) = f()
print('YNEOS'[n // k % 2 == 0::2])


numlist = [int(x) for x in input().split()]
player1 = numlist[0]
player2 = numlist[1]
temp_ans = player1 // player2
if temp_ans % 2 == 0:
	print('NO')
else:
	print('YES')


a = input().split()
a[0] = int(a[0])
a[1] = int(a[1])
if a[0] // a[1] & 1 == 0:
	print('NO')
else:
	print('YES')


import os
import sys
from io import BytesIO, IOBase

def main():
	(n, k) = map(int, input().split())
	if n // k % 2 or n == k:
		print('YES')
	else:
		print('NO')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


(n, k) = input().split()
(n, k) = (int(n), int(k))
if n // k % 2:
	print('YES')
else:
	print('NO')


(n, q) = map(int, input().split())
z = n // q
if z % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = map(int, input().split())
print('YES' if n % (k + k) >= k else 'NO')


l = list(map(int, input().split()))

def sticks(n, k):
	if n == k:
		return 'YES'
	elif n // k % 2 == 0:
		return 'NO'
	elif n // k % 2 == 1:
		return 'YES'
print(sticks(l[0], l[1]))


(n, k) = map(int, input().split())
c = n // k
r = n % k
if c % 2 == 0 and r <= k:
	print('NO')
else:
	print('YES')


(total, turn) = map(int, input().split())
if total // turn % 2 == 0:
	print('NO')
else:
	print('YES')


def str_list(s, char):
	output_list = []
	collector = ''
	for i in range(len(s)):
		if s[i] == char:
			if collector:
				output_list.append(int(collector))
				collector = ''
		else:
			collector += s[i]
	output_list.append(int(collector))
	return output_list

def merge_sort(l):

	def merge(l_1, l_2):
		(i, j) = (0, 0)
		output_list = []
		while i < len(l_1) and j < len(l_2):
			if l_1[i][0] < l_2[j][0]:
				output_list.append(l_1[i])
				i += 1
			else:
				output_list.append(l_2[j])
				j += 1
		if i == len(l_1):
			output_list += l_2[j:]
		elif j == len(l_2):
			output_list += l_1[i:]
		return output_list

	def sorts(l):
		if len(l) < 2:
			return l
		else:
			mid = len(l) // 2
			left = sorts(l[:mid])
			right = sorts(l[mid:])
		return merge(left, right)
	return sorts(l)

def merge_sort2(l):

	def merge(l_1, l_2):
		(i, j) = (0, 0)
		output_list = []
		while i < len(l_1) and j < len(l_2):
			if l_1[i][1] < l_2[j][1]:
				output_list.append(l_1[i])
				i += 1
			else:
				output_list.append(l_2[j])
				j += 1
		if i == len(l_1):
			output_list += l_2[j:]
		elif j == len(l_2):
			output_list += l_1[i:]
		return output_list

	def sorts(l):
		if len(l) < 2:
			return l
		else:
			mid = len(l) // 2
			left = sorts(l[:mid])
			right = sorts(l[mid:])
		return merge(left, right)
	return sorts(l)

def str_list_with_str(s, char):
	output_list = []
	collector = ''
	for i in range(len(s)):
		if s[i] == char:
			if collector:
				output_list.append(collector)
				collector = ''
		else:
			collector += s[i]
	output_list.append(collector)
	return output_list

def list_str(l, char):
	output_str = ''
	for i in range(len(l) - 1):
		output_str += str(l[i]) + char
	output_str += str(l[len(l) - 1])
	return output_str

def find_max(l, i, current_max):
	if i == len(l):
		return current_max
	else:
		if current_max < l[i]:
			current_max = l[i]
		return find_max(l, i + 1, current_max)

def simple_find_min_max(l):
	current_max = l[0]
	current_min = l[0]
	for i in l:
		if current_max < i:
			current_max = i
		if current_min > i:
			current_min = i
	return (current_min, current_max)

def simple_find_min(l):
	current_max = l[0]
	for i in l:
		if current_max > i:
			current_max = i
	return current_max

def sum(l):
	sum = 0
	for i in l:
		sum += i
	return sum

def main_function():
	(n, k) = str_list(input(), ' ')
	ratio = n // k
	if not ratio % 2:
		return 'NO'
	return 'YES'
print(main_function())


(n, k) = map(int, input().split())
print('YNEOS'[n // k % 2 == 0::2])


(n, m) = list(map(int, input().strip().split()))
c = n // m
if c % 2 == 0:
	print('NO')
else:
	print('YES')


import math
import os
import random
import re
import sys
a = list(map(int, input().rstrip().split()))
k = a[0] // a[1]
if k % 2 != 0:
	print('YES')
else:
	print('NO')


num = [int(x) for x in input().split()]
a = num[0]
b = num[1]

def turncount(a, b):
	return a // b

def win(a):
	if a % 2 == 0:
		return 'NO'
	else:
		return 'YES'
print(win(turncount(a, b)))


(N, K) = list(map(int, input().split()))
moves = int(N // K)
if moves % 2 == 1:
	print('YES')
else:
	print('NO')


def palochki(n, k):
	if n // k % 2 != 0:
		return 'YES'
	return 'NO'
(N, K) = [int(i) for i in input().split()]
print(palochki(N, K))


a = list(map(int, input().split()))
(n, k) = (a[0], a[1])
x = n // k
if x % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = [int(a) for a in input().split()]
wh = n // k
r = wh % 2
if r == 0:
	print('NO')
else:
	print('YES')


(n, k) = input().split()
n = int(n)
k = int(k)
if n // k % 2 == 1:
	print('YES')
elif n // k % 2 == 0:
	print('NO')


(a, b) = map(int, input().split())
c = a // b % 2
d = a % b
if c > 0 and 0 <= d < b:
	print('YES')
else:
	print('NO')


(n, k) = list(map(int, input().split()))
print('NYOE S'[n // k & 1::2])


from sys import stdin, stdout
MOD = 10 ** 9 + 7
INF = float('inf')
sze = 10 ** 6
(n, k) = map(int, stdin.readline().split())
if not n // k % 2:
	stdout.write('NO')
else:
	stdout.write('YES')


x = list(map(int, input().split()))
c = x[0] // x[1]
if c % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = [int(i) for i in input().split()]
m = n // k
print('YES' if m % 2 != 0 else 'NO')


(n, k) = map(int, input().split())
num = n // k
print('YES' * (num % 2) + 'NO' * (1 - num % 2))


(a, b) = map(int, input().split())
c = a // b
if c & 1 == 1:
	print('YES')
else:
	print('NO')


list1 = list(map(int, input().split()))
a = [1, 3]
print('YES' if list1[0] // list1[1] % 4 in a else 'NO')


def integer(y):
	x = int(y)
	return x
(n, k) = input().split(' ')
n = integer(n)
k = integer(k)
div = n // k
if div % 2 == 1:
	print('YES')
else:
	print('NO')


(a, b) = map(int, input().split())
if a == b:
	print('YES')
elif a // b % 2 != 0:
	print('YES')
elif a < b:
	print('NO')
elif a - b < b:
	print('YES')
elif a % (b * 3) == 0 and a % (b * 2) != 0:
	print('YES')
else:
	print('NO')


(n, k) = map(int, input().split())
turns = n // k
print('YES' if turns % 2 else 'NO')


import sys
import decimal

def main():
	(n, k) = map(int, sys.stdin.readline().split())
	n = decimal.Decimal(n)
	n = n - int(n / 2 / k) * k * 2
	if n < k:
		print('NO')
	else:
		print('YES')
main()


line = input()
l = line.split()
(n, k) = (int(l[0]), int(l[1]))
if n <= k:
	print('YES')
elif n // k % 2 != 0:
	print('YES')
else:
	print('NO')


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, copy, functools
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

def LS():
	return sys.stdin.readline().split()

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def main():
	(n, k) = LI()
	if n // k % 2 == 1:
		return 'YES'
	return 'NO'
print(main())


inner = input()
(p_amount, p_cross) = map(int, inner.split())
if p_cross >= p_amount:
	print('YES')
else:
	turns_amount = p_amount // p_cross
	if turns_amount % 2 == 0:
		print('NO')
	else:
		print('YES')


def solve():
	(n, k) = get([int])
	val = n // k
	val = val % 2
	if val == 1:
		return 'YES'
	else:
		return 'NO'
	return None
_testcases = '\n1 1\n\nYES\n\n10 4\n\nNO\n\n'.strip()
import re
import sys
import math
import heapq
from heapq import heapify, heappop, heappush
import bisect
import string
from bisect import bisect_left, bisect_right
import operator
from operator import itemgetter, attrgetter
import itertools
import collections
inf = float('inf')
sys.setrecursionlimit(10000)

def tree():
	return collections.defaultdict(tree)

def cache(func):
	cache_dict = {}

	def _cached_func(*args, _get_cache=False):
		if _get_cache:
			return cache_dict
		if args in cache_dict:
			return cache_dict[args]
		cache_dict[args] = func(*args)
		return cache_dict[args]
	return _cached_func

def equal(x, y, epsilon=1e-06):
	if -epsilon <= x - y <= epsilon:
		return True
	if -epsilon <= x <= epsilon or -epsilon <= y <= epsilon:
		return False
	return -epsilon <= (x - y) / x <= epsilon or -epsilon <= (x - y) / y <= epsilon

def get(_type):
	if type(_type) == list:
		if len(_type) == 1:
			_type = _type[0]
			return list(map(_type, input().strip().split()))
		else:
			return [_type[i](inp) for (i, inp) in enumerate(input().strip().split())]
	else:
		return _type(input().strip())
(_p, print) = (print, lambda *a, **b: None)
_p(solve())


x = input().split()
n = int(x[0])
m = int(x[1])
div = n // m
if div % 2 == 0:
	print('NO')
else:
	print('YES')


(aSt, dr) = map(int, input().split())
if aSt // dr % 2 == 0:
	print('NO')
else:
	print('YES')


s = input()
(n, k) = s.split()
moves = int(n) // int(k)
if moves % 2 == 0:
	print('NO')
else:
	print('YES')


inp = input()
lst = inp.split(' ')
x = int(lst[0])
y = int(lst[1])
z = x // y
if z % 2 == 1:
	print('YES')
else:
	print('NO')


import sys
(n, k) = list(map(int, sys.stdin.read().split()))
if n // k & 1 == 1:
	print('YES')
else:
	print('NO')


import sys, math
input = sys.stdin.readline
L = lambda : list(map(int, input().split()))
M = lambda : map(int, input().split())
(n, k) = M()
if n // k % 2 == 1:
	print('YES')
else:
	print('NO')


R = lambda : map(int, input().split())
(n, k) = R()
flag = 0
x = n // k
if x % 2:
	print('YES')
else:
	print('NO')


import math
(n, k) = map(int, input().split())
if n // k & 1 == 1:
	print('YES')
else:
	print('NO')


def arrayInput(TYPE):
	return [TYPE(x) for x in input().split()]

def CF():
	(n, k) = arrayInput(int)
	if n // k % 2 != 0:
		print('YES')
	else:
		print('NO')
CF()


import sys
(n, k) = map(int, input().split())
if n == k:
	print('YES')
else:
	x = n // k
	print('YES') if x % 2 != 0 else print('NO')


inp = input().split(' ')
turns = int(inp[0]) // int(inp[1])
if turns % 2 == 1:
	print('YES')
else:
	print('NO')


def I():
	return map(int, input().split())
(n, k) = I()
print('YES' if n // k % 2 else 'NO')


v = list(map(int, input().split()))
n = v[0]
k = v[1]
q = n // k
if q % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = map(int, input().split())
x = n % k
n -= x
oe = n // k
if oe % 2:
	print('YES')
else:
	print('NO')


N = input()
T = N.split(' ')
if int(T[0]) // int(T[1]) % 2 == 0:
	print('NO')
else:
	print('YES')


(m, a) = [int(i) for i in input().split()]
c = m // a
if c % 2 == 0:
	print('NO')
else:
	print('YES')


(a, b) = input().split(' ')
a = int(a)
b = int(b)
c = int(a // b)
if c % 2:
	print('YES')
else:
	print('NO')


import decimal
D = decimal.Decimal

def answer():
	a = input().split()
	n = D(int(a[0]))
	k = D(int(a[1]))
	if D(D(D(int(n / k)) % 2)):
		print('YES')
	else:
		print('NO')
answer()


from math import ceil, log, floor, sqrt
import math
k = 1

def mod_expo(n, p, m):
	result = 1
	while p != 0:
		if p % 2 == 1:
			result = result * n % m
		p //= 2
		n = n * n % m
	return result

def is_prime(n):
	m = 2
	while m * m <= n:
		if n % m == 0:
			return False
		m += 1
	return True

def find_sum(n, a):
	a.insert(0, 0)
	for i in range(1, n + 1):
		prev = a[i] & a[i - 1]
		cur = a[i] | a[i - 1]
		a[i - 1] = prev
		a[i] = cur
	return sum((m * m for m in a))

def prin_abc(x, y, z):
	l = [x, y, z]
	l.sort()
	if l[1] < l[2]:
		print('NO')
		return
	a = b = l[0]
	c = l[2]
	print('YES')
	print(a, b, c)

def get_scores(n, vals):
	l = 0
	r = n - 1
	turn = 0
	sereja = 0
	dima = 0
	while l <= r:
		if vals[l] > vals[r]:
			cur = vals[l]
			l += 1
		else:
			cur = vals[r]
			r -= 1
		if turn == 0:
			sereja += cur
		else:
			dima += cur
		turn = not turn
	print(sereja, dima)

def count_lamps(n, m):
	return (n * m + 1) // 2

def find_holidays(n):
	cnt = 2 * (n // 7)
	rem = n % 7
	mx = mn = cnt
	if rem == 1:
		mx += 1
	elif rem > 1:
		mx += 2
	if rem == 6:
		mn += 1
	print(mn, mx)

def sasha_wins(n, k):
	return n // k % 2 == 1
t = 1
while t:
	t = t - 1
	(k, g) = (0, 0)
	points = []
	(n, k) = map(int, input().split())
	if sasha_wins(n, k):
		print('YES')
	else:
		print('NO')


import sys

class game:

	def __init__(self):
		self.sasha = 0
		self.lena = 0

	def win(self, stick, remove):
		if stick // remove % 2 == 0:
			return False
		else:
			return True

def main():
	(s, t) = [int(x) for x in sys.stdin.readline().split()]
	g = game()
	if g.win(s, t):
		print('YES')
	else:
		print('NO')
main()


while True:
	try:
		(n, k) = map(int, input().split())
		s = n // k
		if s % 2 == 0:
			print('NO')
		else:
			print('YES')
	except EOFError:
		break


(x, y) = [int(i) for i in input().split()]
print('NO' if x // y % 2 == 0 else 'YES')


a = input().split()
b = int(a[0])
c = int(a[1])
if b % c == 0:
	v = b // c
	if v % 2 == 0:
		print('NO')
	else:
		print('YES')
else:
	v = b // c
	if v % 2 == 0:
		print('NO')
	else:
		print('YES')


def solved(n, k):
	if n // k % 2 == 1:
		return 'YES'
	return 'NO'
(n, k) = map(int, input().split())
print(solved(n, k))


from sys import stdin, stdout
(n, k) = [int(x) for x in stdin.readline().rstrip().split()]
ans = 'YES' if n // k % 2 != 0 else 'NO'
stdout.write(str(ans + '\n'))


(n, k) = map(int, input().split())
i = 0
j = 0
o = n // k
n %= k
while n >= k:
	n -= k
	i += 1
	if n < k:
		if i > j:
			print('YES')
		else:
			print('NO')
		exit()
	n -= k
	j += 1
	if n < k:
		if i > j:
			print('YES')
		else:
			print('NO')
		exit()
if o % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = input().split(' ')
k = int(k)
z1 = int(n) % int(k)
z2 = int(n) // int(k)
if z2 % 2 == 0:
	if z1 >= 0:
		print('NO')
elif z1 < k:
	print('YES')


(a, b) = [int(n) for n in input().split()]
t = a // b
if t == 0:
	print('NO')
elif t % 2 == 0:
	print('NO')
else:
	print('YES')


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
(n, m) = invr()
moves = n // m
if moves % 2 == 0:
	print('NO')
else:
	print('YES')


input_list = list(map(int, input().split(' ')))
n = input_list[0]
k = input_list[1]
dividend = n // k
if dividend % 2 == 1:
	print('YES')
else:
	print('NO')


x = input()
y = x.split(' ')
n = int(y[0])
k = int(y[1])
q = n // k
if q % 2 == 0:
	print('NO')
else:
	print('YES')


def isOdd(n):
	if n % 2 == 0:
		return False
	else:
		return True
(n, k) = map(int, input().split())
if isOdd(n // k):
	print('YES')
else:
	print('NO')


def main():
	(n, m) = map(int, input().split())
	print(('YES', 'NO')[n % (m * 2) < m])
main()


x = input().split()
y = int(x[0])
z = int(x[1])
hsl = 'NO'
htg = y // z
if htg % 2 == 1:
	hsl = 'YES'
print(hsl)


(n, k) = map(int, input().split())
z = n // k
y = n % k
if z % 2 == 1:
	print('YES')
else:
	print('NO')


temp = input()
temp = temp.split()
n = int(temp[0])
k = int(temp[1])
temp_var = n // k
if temp_var % 2 == 0:
	print('NO')
else:
	print('YES')


inp = input().split()
x = int(inp[0])
y = int(inp[1])
a = x // y
if a % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = map(int, input().split())
print(n // k % 2 == 0 and 'NO' or 'YES')


(n, k) = map(int, input().split(' '))
p = n // k
if not p & 1:
	print('NO')
else:
	print('YES')


(n, k) = map(int, input().split())
b = 1
a = n // k
if n >= 1 and n >= k:
	if a % 2 != 0:
		print('YES')
	else:
		print('NO')


string = input().split(' ')
n = int(string[0])
k = int(string[1])
result = n // k
if result % 2 == 1:
	print('YES')
else:
	print('NO')


def solve(test):
	ans = 0
	(n, k) = map(int, input().split())
	ans = n // k
	print('YES' if ans % 2 == 1 else 'NO')
t = 1
for _ in range(t):
	solve(_ + 1)


z = list(map(int, input().split()))
count = z[0] // z[1]
if count % 2 == 0:
	print('NO')
else:
	print('YES')


(n, k) = list((int(a) for a in input().split()))
print('YES' if n // k & 1 else 'NO')


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, queue, copy
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def I():
	return int(sys.stdin.readline())

def LS():
	return sys.stdin.readline().split()

def S():
	return input()

def main():
	(n, k) = LI()
	if n % k == 0:
		if n // k % 2 == 1:
			return 'YES'
		return 'NO'
	else:
		if n // k % 2 == 0:
			return 'NO'
		return 'YES'
print(main())


def main():
	(n, m) = [int(v) for v in input().split()]
	print('YES' if n // m % 2 != 0 else 'NO')
main()


import sys
(n, k) = map(int, sys.stdin.readline().split())
if n // k % 2 == 1:
	print('YES')
else:
	print('NO')


def inp():
	return map(int, input().split())
(n, k) = inp()
print('YES' if n // k % 2 != 0 or n == k else 'NO')


x = input().split()
n = int(x[0])
k = int(x[1])
res = n // k
if res % 2 == 0:
	print('NO')
else:
	print('YES')


import math
(a, b) = map(int, input().split())
c = a // b
d = c % 2
if d:
	print('YES')
else:
	print('NO')


(n, m) = tuple(input().split())
n = int(n)
m = int(m)
a = n // m
if a % 2 == 0:
	print('NO')
else:
	print('YES')


import sys
import math
get_string = lambda : sys.stdin.readline().strip()
get_list = lambda : list(map(int, sys.stdin.readline().strip().split()))
get_intList_from_str = lambda : list(map(int, list(sys.stdin.readline().strip())))
get_charList_from_str = lambda : list(sys.stdin.readline().strip())
get_int = lambda : int(sys.stdin.readline().strip())
pt = lambda x: sys.stdout.write(str(x))
(n, k) = get_list()
n = n % (2 * k)
if n >= k:
	print('YES')
else:
	print('NO')


l = list(map(int, input().split()))
a = l[0]
b = l[1]
c = a // b
if c & 1 is 0:
	print('NO')
else:
	print('YES')


(n, k) = map(int, input().split())
while n - 2560000000000 * k >= 0:
	n -= 2560000000000 * k
while n - 256000000000 * k >= 0:
	n -= 256000000000 * k
while n - 25600000000 * k >= 0:
	n -= 25600000000 * k
while n - 2560000000 * k >= 0:
	n -= 2560000000 * k
while n - 256000000 * k >= 0:
	n -= 256000000 * k
while n - 25600000 * k >= 0:
	n -= 25600000 * k
while n - 2560000 * k >= 0:
	n -= 2560000 * k
while n - 256000 * k >= 0:
	n -= 256000 * k
while n - 25600 * k > 0:
	n -= 25600 * k
while n - 512 * k >= 0:
	n -= 512 * k
while n - 2 * k >= 0:
	n -= 2 * k
if n - k >= 0:
	print('YES')
else:
	print('NO')


x = input().split()
if int(x[0]) // int(x[1]) % 2 == 0:
	print('NO')
else:
	print('YES')


(nsticks, ncrossed) = map(int, input().split())
a = nsticks // ncrossed
if a % 2 == 0:
	print('NO')
else:
	print('YES')


def game(n, k):
	val = n // k
	if val % 2 == 1:
		return 'YES'
	return 'NO'
(n, k) = list(map(int, input().rstrip().split()))
print(game(n, k))


(n, k) = map(int, input().split())
if k > n or (not k > n and n // k % 2 == 0):
	print('NO')
if not k > n and n // k % 2 == 1:
	print('YES')


(z, zz, dgraphs, mod) = (input, lambda : list(map(int, z().split())), {}, 10 ** 9 + 7)
from string import *
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0 and x != 2:
			return 0
	return 1

def dfs(u, visit, graph):
	visit[u] = True
	for i in graph[u]:
		if not visit[i]:
			dfs(i, visit, graph)
(z, zz, dgraphs, mod) = (input, lambda : list(map(int, z().split())), {}, 10 ** 9 + 7)
from string import *
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0 and x != 2:
			return 0
	return 1

def dfs(u, visit, graph):
	visit[u] = True
	for i in graph[u]:
		if not visit[i]:
			dfs(i, visit, graph)
(n, k) = zz()
t = n // k
if t % 2 != 0:
	print('YES')
else:
	print('NO')


from decimal import Decimal, localcontext
import math
[a, b] = map(int, input().split())
if math.floor(Decimal(a) / Decimal(b)) % 2 == 0:
	print('NO')
else:
	print('YES')


import math, random, sys, os, re
(n, k) = map(int, input().split())
if n // k % 2:
	print('YES')
else:
	print('NO')


def prog():
	(n, k) = map(int, input().split())
	if n // k % 2 == 0:
		print('NO')
	else:
		print('YES')
prog()


(n, k) = map(int, input().split())
q = n % k
r = n // k
if r % 2 != 0:
	print('YES')
else:
	print('NO')


result = 'YES'
(n, k) = list(map(int, input().split()))
h = n % (2 * k)
if h >= k:
	result = 'YES'
else:
	result = 'NO'
print(result)


def main():
	x = input().split()
	no_of_sticks = int(x[0])
	slash = int(x[1])
	if no_of_sticks // slash % 2 == 0:
		print('NO')
	else:
		print('YES')
main()


(n, k) = tuple(map(int, input().strip().split()))
if n // k % 2:
	print('YES')
else:
	print('NO')


(n, k) = input('').split()
n = int(n)
k = int(k)
if 1 <= n and k <= 10 ** 18 and (k <= n):
	p = n // k
	if p % 2 == 0:
		print('NO')
	else:
		print('YES')


par = str(input()).split()
(n, k) = (int(par[0]), int(par[1]))
if n // k % 2 == 0:
	print('NO')
else:
	print('YES')


(a, b) = map(int, input().split())
print('NYOE S'[a // b & 1::2])


import sys
(n, k) = map(int, input().split())
a = n // k
if a % 2:
	print('YES')
else:
	print('NO')


from sys import stdin, stdout
(n, k) = map(int, stdin.readline().rstrip().split())
if n // k % 2 == 1:
	print('YES')
else:
	print('NO')


(sticks_nr, step) = (int(x) for x in input().split())
if sticks_nr // step % 2 == 0:
	print('NO')
else:
	print('YES')


l = list(input().split())
n = int(l[0])
m = int(l[1])
if n // m % 2 == 0:
	print('NO')
else:
	print('YES')


import math
import collections
import bisect
import heapq
import time
import random
import itertools
import sys
(N, K) = map(int, input().split())
a = N // K
if a % 2 == 1:
	print('YES')
else:
	print('NO')


from sys import stdin
import math
(n, k) = map(int, stdin.readline().rstrip().split(' '))
sasha_ending = n // k % 2 == 1
if sasha_ending or n == k:
	print('YES')
else:
	print('NO')


from __future__ import division, print_function
from fractions import Fraction
import sys
import os
from io import BytesIO, IOBase
from itertools import *
import bisect
from heapq import *
from math import *
from copy import *
from collections import deque
from collections import Counter as counter
from itertools import combinations as comb
from itertools import permutations as permutate
from bisect import bisect_left as bl
from bisect import bisect_right as br
from bisect import bisect
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	(sep, file) = (kwargs.pop('sep', ' '), kwargs.pop('file', sys.stdout))
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop('end', '\n'))
	if kwargs.pop('flush', False):
		file.flush()
if sys.version_info[0] < 3:
	(sys.stdin, sys.stdout) = (FastIO(sys.stdin), FastIO(sys.stdout))
else:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
from types import GeneratorType

def iterative(f, stack=[]):

	def wrapped_func(*args, **kwargs):
		if stack:
			return f(*args, **kwargs)
		to = f(*args, **kwargs)
		while True:
			if type(to) is GeneratorType:
				stack.append(to)
				to = next(to)
				continue
			stack.pop()
			if not stack:
				break
			to = stack[-1].send(to)
		return to
	return wrapped_func
mod = 1000000007

def inp():
	return sys.stdin.readline().rstrip('\r\n')

def out(var):
	sys.stdout.write(str(var))

def lis():
	return list(map(int, inp().split()))

def stringlis():
	return list(map(str, inp().split()))

def sep():
	return map(int, inp().split())

def strsep():
	return map(str, inp().split())

def zerolist(n):
	return [0] * n

def nextline():
	out('\n')

def testcase(t):
	for p in range(t):
		solve()

def printlist(a):
	for p in range(0, len(a)):
		out(str(a[p]) + ' ')

def solve():
	(n, k) = sep()
	a = n // k
	if a % 2 == 1:
		print('YES')
	else:
		print('NO')
solve()


import sys
import math
import bisect
from sys import stdin, stdout
from math import gcd, floor, sqrt, log
from collections import defaultdict as dd
from bisect import bisect_left as bl, bisect_right as br
from collections import Counter
inp = lambda : int(input())
strng = lambda : input().strip()
jn = lambda x, l: x.join(map(str, l))
strl = lambda : list(input().strip())
mul = lambda : map(int, input().strip().split())
mulf = lambda : map(float, input().strip().split())
seq = lambda : list(map(int, input().strip().split()))
ceil = lambda x: int(x) if x == int(x) else int(x) + 1
ceildiv = lambda x, d: x // d if x % d == 0 else x // d + 1
flush = lambda : stdout.flush()
stdstr = lambda : stdin.readline()
stdint = lambda : int(stdin.readline())
stdpr = lambda x: stdout.write(str(x))
stdarr = lambda : map(int, stdstr().split())
mod = 1000000007
(n, k) = mul()
m = n // k
if m % 2 != 0:
	print('YES')
else:
	print('NO')


(n, m) = map(int, input().split())
a = n // m
print(['NO', 'YES'][a % 2])


import sys
inputdata = sys.stdin.readline()
inputdatasplit = inputdata.split()
numberofsticks = int(inputdatasplit[0])
stickstakenaway = int(inputdatasplit[1])
lowestmultiple = numberofsticks // stickstakenaway
whowins = lowestmultiple % 2
if whowins == 1:
	print('YES')
else:
	print('NO')


list1 = [int(i) for i in input().split()]
n = list1[0]
k = list1[1]
t = n // k
if t % 2 == 0:
	print('NO')
else:
	print('YES')