Algorithms and Data Structures

• Status
• 1
Implementation
• 2
Bitwise operations
• 3
Prefix Sums
• 4
Sliding window / Two pointers
• 5
Modular Arithmetic
• 6
Number Theory
• 7
Binary Search
• 8
Basic Sorting
• 9
Greedy Algorithms
• 10
Basic Dynamic Programming
• 11
Recursion
• 12
• 13
Queue & Stack
• 14
Binary tree + BST
• 15
Divide & Conquer + Advanced Sorting
• 16
Heap
• 17
Hashing
• 18
Graph Representation
• 19
BFS

• # Check if the bit is set

Given an integer `n` and a number `p` which is a power of 2, you are asked to find out if the bit corresponding to `p` is set to 1 in `n`.

#### Input

The input contains two integers `n` (1 ≤ n ≤ ) and `p` (1 ≤ p ≤ ).

#### Output

The program should print `Yes` if the corresponding bit is set and `No` otherwise.

#### Examples

 Input Output 9 8 Yes 9 4 No 9 1 Yes 311 4 Yes 311 8 No

#### Explanation

1. 9 → 1001, 8 → 1000 ⇒ the most significant bit is set which corresponds to 8
1. 9 → 1001, 4 → 100 ⇒ the 3rd (from the right) bit is not set
1. 9 → 1001, 1 → 1 ⇒ the least significant bit is set which corresponds to 1
1. 311 → 100110111, 4 → 100 ⇒ the 3rd (from the right) bit is set
1. 311 → 100110111, 8 → 1000 ⇒ the 4th (from the right) bit is not set

#### Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB