To make the problem easier, I promise that B will be smaller than 100000.
Is it too hard? No, I work it out in 10 minutes, and my program contains less than 25 lines.
1521
#include <stdio.h>
#include <string.h>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <deque>
#include <queue>
#include <set>
#include <list>
#include <map>
#include <string>
using namespace std;
#define INF 2147483647
int main()
{
int n,i,l,sum;
char s[100000];
while(scanf("%s %d",s,&n)!=EOF)
{
l=strlen(s);
sum=0;
for(i=0;i<l;i++)
{
sum*=10;
sum+=s[i]-'0';
sum%=n;
}
cout <<sum <<endl;
}
return 0;
}