Getting error in test case 0

#include
#include
using namespace std;
map<int,int> dp;
int coins(int n){
if (n==0 || n==1){
return n;
}
if (dp.count(n)){
return dp[n];
}
int ret=n;
ret=max(ret,coins(n/2)+coins(n/3)+coins(n/4));
return dp[n]=ret;
}
int main() {
int n;
cin>>n;
cout<<coins(n)<<endl;
return 0;
}
Getting the wrong answer in the test case 0.

Hey @pranjal123
Your answer is overflowing ,use long long instead of int