题目链接:http://codeforces.com/contest/1023/problem/B
#include<iostream>
#include<cstdio>
using namespace std;
typedef unsigned long long ll;
int main(){
ll n,k;
while(~scanf("%I64d%I64d",&n,&k)){
if(k<=n)
printf("%I64d\n",(k-1)/2);
else{
if(k>=2*n)
printf("0\n");
else{
ll temp=2*n-k;
ll cnt=temp%2==0?temp/2:temp/2+1;
printf("%I64d\n",cnt);
}
}
}
return 0;
}