A. Tricky Alchemy

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

During the winter holidays, the demand for Christmas balls is exceptionally high. Since it's already 2018, the advances in alchemy allow easy and efficient ball creation by utilizing magic crystals.


Grisha needs to obtain some yellow, green and blue balls. It's known that to produce a yellow ball one needs two yellow crystals, green — one yellow and one blue, and for a blue ball, three blue crystals are enough.


Right now there are A yellow and B blue crystals in Grisha's disposal. Find out how many additional crystals he should acquire in order to produce the required number of balls.


Input

The first line features two integers A and B (0 ≤ A, B ≤ 109), denoting the number of yellow and blue crystals respectively at Grisha's disposal.


The next line contains three integers x, y and z (0 ≤ x, y, z ≤ 109) — the respective amounts of yellow, green and blue balls to be obtained.


Output

Print a single integer — the minimum number of crystals that Grisha should acquire in addition.


Examples

Input

4 3

2 1 1

Output

2

Input

3 9

1 1 3

Output

1

Input

12345678 87654321

43043751 1000000000 53798715

Output

2147483648

感觉像方程。


#include <iostream>

using namespace std;

int main()
{
long long a,b;
long long x,y,z;
cin>>a>>b;
cin>>x>>y>>z;
long long h=2*x+y;
long long l=y+3*z;
long long sum=h-a;
long long sum1=l-b;
if(sum<0)sum=0;
if(sum1<0)sum1=0;
cout<<sum+sum1<<endl;
return 0;
}


B. New Year's Eve


time limit per test


memory limit per test


input


output


Since Grisha behaved well last year, at New Year's Eve he was visited by Ded Moroz who brought an enormous bag of gifts with him! The bag contains n sweet candies from the good ol' bakery, each labeled from 1 to n

The choice of candies has a direct effect on Grisha's happiness. One can assume that he should take the tastiest ones — but no, the holiday magic turns things upside down. It is the xor-sum of tastinesses that matters, not the ordinary sum!

A xor-sum of a sequence of integers a1, a2, ..., am is defined as the bitwise XOR of all its elements:

Codeforces Round #456 (Div. 2) A B_i++

, here

Codeforces Round #456 (Div. 2) A B_i++_02

denotes the bitwise XOR operation; more about bitwise XOR can be found here.

Ded Moroz warned Grisha he has more houses to visit, so Grisha can take k


Input


The sole string contains two integers n and k (1 ≤ k ≤ n ≤ 1018).


Output


Output one number — the largest possible xor-sum.


Examples


Input


4 3


Output


7


Input


6 6


Output


7


找规律,英文讲解有点头疼

#include <iostream>

using namespace std;
long double aa[22];
void q()
{
aa[0]=1;
for(int i=1;i<=20;i++)
{
aa[i]=aa[i-1]*2;
}
}
int main()
{

q();
long long a,b;
cin>>a>>b;
if(b==1)cout<<a<<endl;
else
{
long long su=1;
while(1)
{
if(su>a)break;
su=su*2;

}
cout<<su-1<<endl;
}

return 0;
}