**Bear and Ladder Codechef Solution**: Hello coders, today we are going to solve **Bear and Ladder Codechef Solution**.

## Problem

**Bear and Ladder Codechef Solution**: Bearland has infinitely many cities, numbered starting from 1. Some pairs of cities are connected with bidirectional roads:

- There are roads 1-2, 3-4, 5-6, 7-8, and so on (there is a road between cities 2*i+1 and 2*i+2 for every non-negative integer i).
- There are roads 1-3, 3-5, 5-7, 7-9, … (between every two consecutive odd numbers).
- There are roads 2-4, 4-6, 6-8, 8-10, … (between every two consecutive even numbers).

This is how the first few cities and roads between them look like:

You are given **Q** queries. In each query, for the given pair of different cities **a** and **b**, you should check if there is a road between them. For each query, print “YES” or “NO” accordingly.

### Input

The first line of the input contains an integer **Q**, denoting the number of queries.

Each of the following **Q** lines contains two distinct integers **a** and **b**, denoting two cities in one query.

### Output

For each query, output a single line containing the answer — “YES” if there is a road between the given cities **a** and **b**, and “NO” otherwise (without the quotes).

### Constraints

- 1 ≤
**Q**≤ 1000 - 1 ≤
**a**,**b**≤ 10^{9} **a**≠**b**

### Sample Input 1

7 1 4 4 3 5 4 10 12 1 3 999999999 1000000000 17 2384823

### Sample Output 1

NO YES NO YES YES YES NO

### Explanation

In the example test, the answer is “YES” for pairs (4, 3), (10, 12), (1, 3) and (999999999, 1000000000). Roads 3-4 and 1-3 you can see on the drawing in the statement.

The answer is “NO” for example for a pair (1, 4), because there is no road between cities 1 and 4.

## Bear and Ladder – CodeChef Solution in JAVA

import java.util.*; import java.lang.*; import java.io.*; class Codechef { public static void main (String[] args) throws java.lang.Exception { // your code goes here Scanner sc=new Scanner(System.in); int t=sc.nextInt(); while(t-->0){ int a=sc.nextInt(); int b=sc.nextInt(); if(a%2!=0){ if(a-2==b || a+1==b ||a+2==b){ System.out.println("YES"); }else{ System.out.println("NO"); } } else if(a%2==0){ if(a-2==b || a-1==b || a+2==b){ System.out.println("YES"); }else{ System.out.println("NO"); } } } } }

## Bear and Ladder – CodeChef Solution in CPP

#include<bits/stdc++.h> using namespace std; int main(){ int tc; cin>>tc; while(tc--){ int a,b; cin>>a>>b; if(a>b) swap(a,b); if(a+2==b){ cout<<"YES"<<endl; }else if(a+1==b && a%2==1){ cout<<"YES"<<endl; }else{ cout<<"NO"<<endl; } } return 0; }

## Breaking Bricks – CodeChef Solution in Python

T = int(input()) for i in range(T): (a,b) = map(int,input().split()) if((a%2 == 0 and b%2 == 0) or (a%2 != 0 and b%2 != 0)): if(a == b+2 or b == a+2): print('YES') else: print('NO') else: if((a%2 == 0 and b == a-1) or (b%2 == 0 and a == b-1)): print('YES') else: print('NO')

**Disclaimer: **The above Problem (Bear and Ladder**)**** is generated by** CodeChef but the solution is provided by **Chase2learn**.This tutorial is only for **Educational** and **Learning** purpose.