- #include <stdio.h>
- #include <stdlib.h>
- int main (void) {
- long long int A,B;
- long long int E=0;
- long long int C=0;
- long long int D;
- int i,l,j,k=0;
- long long int number=1;
- long long int power(int k, long long int number);
- scanf("%lld%lld",&A,&B);
- //A=129140163;
- //B=11;
- if (B>99999){
- for(i=2;i<=10;i++){
- C=0;
- D=A;
- if(D%i + D/i%i*10 + D/i/i%i*100 + D/i/i/i%i*1000 + D/i/i/i/i%i*10000 + D/i/i/i/i/i%i*100000==B){
- if(D/i==0)
- printf("%d %lld\n",i,D);
- else {
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- if(k>=17){
- E=C;
- if(E==0){
- C=0;
- k=-1;
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- }
- C=C+D%i*power(k,number);
- printf("%d ",i);
- printf("%lld000000000000000000\n",C);
- break;
- }
- C=0;
- k=-1;
- }
- }
- C=C+D%i*power(k,number);
- if(E==0){
- printf("%d ",i);
- printf("%lld\n",C);
- C=0;
- E=0;
- }
- else{
- printf("%d %lld",i,C);
- for(j=17;j>=0;j--){
- if(E>=power(j,number)){
- for(l=17;l>j;l--){
- printf("0");
- }
- break;
- }
- }
- printf("%lld\n",E);
- C=0;
- E=0;
- }
- }
- }
- }
- }
- else if(B>9999){
- for(i=2;i<=10;i++){
- C=0;
- D=A;
- if(D%i + D/i%i*10 + D/i/i%i*100 + D/i/i/i%i*1000 + D/i/i/i/i%i*10000==B){
- if(D/i==0)
- printf("%d %lld\n",i,D);
- else {
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- if(k>=17){
- E=C;
- if(E==0){
- C=0;
- k=-1;
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- }
- C=C+D%i*power(k,number);
- printf("%d ",i);
- printf("%lld000000000000000000\n",C);
- break;
- }
- C=0;
- k=-1;
- }
- }
- C=C+D%i*power(k,number);
- if(E==0){
- if(C/100000%10==0){
- printf("%d ",i);
- printf("%lld\n",C);
- C=0;
- E=0;
- }
- }
- else{
- if(E/100000%10==0){
- printf("%d %lld",i,C);
- for(j=17;j>=0;j--){
- if(E>=power(j,number)){
- for(l=17;l>j;l--){
- printf("0");
- }
- break;
- }
- }
- printf("%lld\n",E);
- C=0;
- E=0;
- }
- }
- }
- }
- }
- }
- else if(B>999){
- for(i=2;i<=10;i++){
- C=0;
- D=A;
- if(D%i + D/i%i*10 + D/i/i%i*100 + D/i/i/i%i*1000==B){
- if(D/i==0)
- printf("%d %lld\n",i,D);
- else {
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- if(k>=17){
- E=C;
- if(E==0){
- C=0;
- k=-1;
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- }
- C=C+D%i*power(k,number);
- printf("%d ",i);
- printf("%lld000000000000000000\n",C);
- break;
- }
- C=0;
- k=-1;
- }
- }
- C=C+D%i*power(k,number);
- if(E==0){
- if(C/100000%10==0&&C/10000%10==0){
- printf("%d %lld",i,C);
- for(j=17;j>=0;j--){
- if(E>=power(j,number)){
- for(l=17;l>j;l--){
- printf("0");
- }
- break;
- }
- }
- }
- }
- else{
- if(E/100000%10==0&&E/10000%10==0){
- printf("%d ",i);
- printf("%lld%lld\n",C,E);
- C=0;
- E=0;
- }
- }
- }
- }
- }
- }
- else if(B>99){
- for(i=2;i<=10;i++){
- C=0;
- D=A;
- if(D%i + D/i%i*10 + D/i/i%i*100==B){
- if(D/i==0)
- printf("%d %lld\n",i,D);
- else {
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- if(k>=17){
- E=C;
- if(E==0){
- C=0;
- k=-1;
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- }
- C=C+D%i*power(k,number);
- printf("%d ",i);
- printf("%lld000000000000000000\n",C);
- break;
- }
- C=0;
- k=-1;
- }
- }
- C=C+D%i*power(k,number);
- if(E==0){
- if(C/100000%10==0&&C/10000%10==0&&C/1000%10==0){
- printf("%d ",i);
- printf("%lld\n",C);
- C=0;
- E=0;
- }
- }
- else{
- if(E/100000%10==0&&E/10000%10==0&&E/1000%10==0){
- printf("%d %lld",i,C);
- for(j=17;j>=0;j--){
- if(E>=power(j,number)){
- for(l=17;l>j;l--){
- printf("0");
- }
- break;
- }
- }
- printf("%lld\n",E);
- C=0;
- E=0;
- }
- }
- }
- }
- }
- }
- else if(B>9){
- for(i=2;i<=10;i++){
- C=0;
- D=A;
- if(D%i + D/i%i*10==B){
- if(D/i==0)
- printf("%d %lld\n",i,D);
- else {
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- if(k>=17){
- E=C;
- if(E==0){
- C=0;
- k=-1;
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- }
- C=C+D%i*power(k,number);
- printf("%d ",i);
- printf("%lld000000000000000000\n",C);
- break;
- }
- C=0;
- k=-1;
- }
- }
- C=C+D%i*power(k,number);
- if(E==0){
- if(C/100000%10==0&&C/10000%10==0&&C/1000%10==0&&C/100%10==0){
- printf("%d ",i);
- printf("%lld\n",C);
- C=0;
- E=0;
- }
- }
- else{
- if(E/100000%10==0&&E/10000%10==0&&E/1000%10==0&&E/100%10==0){
- printf("%d %lld",i,C);
- for(j=17;j>=0;j--){
- if(E>=power(j,number)){
- for(l=17;l>j;l--){
- printf("0");
- }
- break;
- }
- }
- printf("%lld\n",E);
- C=0;
- E=0;
- }
- }
- }
- }
- }
- }
- else if(B>0){
- for(i=2;i<=10;i++){
- C=0;
- D=A;
- if(D%i==B){
- if(D/i==0)
- printf("%d %lld\n",i,D);
- else {
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- if(k>=17){
- E=C;
- if(E==0){
- C=0;
- k=-1;
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- }
- C=C+D%i*power(k,number);
- printf("%d ",i);
- printf("%lld000000000000000000\n",C);
- break;
- }
- C=0;
- k=-1;
- }
- }
- C=C+D%i*power(k,number);
- if(E==0){
- if(C/100000%10==0&&C/10000%10==0&&C/1000%10==0&&C/100%10==0&&C/10%10==0&&C%10==0){
- printf("%d ",i);
- printf("%lld\n",C);
- C=0;
- E=0;
- }
- }
- else{
- if(E/100000%10==0&&E/10000%10==0&&E/1000%10==0&&E/100%10==0&&E/10%10==0&&E%10==0){
- printf("%d %lld",i,C);
- for(j=17;j>=0;j--){
- if(E>=power(j,number)){
- for(l=17;l>j;l--){
- printf("0");
- }
- break;
- }
- }
- printf("%lld\n",E);
- C=0;
- E=0;
- }
- }
- }
- }
- }
- }
- else if(B==0){
- for(i=2;i<=10;i++){
- C=0;
- D=A;
- if(D%i==B){
- if(D/i==0)
- printf("%d %lld\n",i,D);
- else {
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- if(k>=17){
- E=C;
- if(E==0){
- C=0;
- k=-1;
- for (k=0; D/i!=0 ; k++) {
- C=C+D%i*power(k,number);
- D=D/i;
- }
- C=C+D%i*power(k,number);
- printf("%d ",i);
- printf("%lld000000000000000000\n",C);
- break;
- }
- C=0;
- k=-1;
- }
- }
- C=C+D%i*power(k,number);
- if(E==0){
- if(C/100000%10==0&&C/10000%10==0&&C/1000%10==0&&C/100%10==0&&C/10%10==0&&C%10==0){
- printf("%d ",i);
- printf("%lld\n",C);
- C=0;
- E=0;
- }
- }
- else{
- if(E/100000%10==0&&E/10000%10==0&&E/1000%10==0&&E/100%10==0&&E/10%10==0&&E%10==0){
- printf("%d %lld",i,C);
- for(j=17;j>=0;j--){
- if(E>=power(j,number)){
- for(l=17;l>j;l--){
- printf("0");
- }
- break;
- }
- }
- printf("%lld\n",E);
- C=0;
- E=0;
- }
- }
- }
- }
- }
- }
- return 0;
- }
- long long int power(int k , long long int number){
- int i;
- if(k==0)
- return number;
- for(i=1;i<=k;i++){
- number=number*10;
- }
- return number;
- }
Raw Paste