1. Problem 1:

    You are given scales for weighing loads. On the left side lies a single stone of known weight W < 2N . You own a set of N different weights, weighing 1, 2, 4, ..., 2N−1 units of mass respectively. Determine how many possible ways there are of placing some weights on the sides of the scales, so as to balance them (put them in a state of equilibrium).


    Input Specification

    The input line contains two integers: N W, where N denotes the number of weights and W represents the weight to be placed on the left side.


    Output Specification

    Output must be a single integer denoting the number ways in which one can balance the weight W by placing weights on any side


    Sample Input and Output

    Input: 2 4
    Output: 3
    Input: 5 10
    Output: 14

  2. Problem 2:

    Given a weighing pan, n weights and a destination weight D, print “YES� or “NO� depending whether you can weight D using other weights given.


    Input Specification

    Input begins with numbers of weights n, then n values denoting mass of each weight and then in the end destination weight D.
    Output Specification

    As the output, print “YES� if it is possible to weight D, otherwise “NO�
    Sample Input and Output

    Input: 3 1 3 4 2
    Output: YES
    Input: 2 1 3 5
    Output: NO