#include<stdio.h>
void power3(unsigned long result[]);
void print_result(unsigned long result[]);
int main(void)
{ unsigned long result[8]={0};
  power3(result);
  return 0; }
  
void power3(unsigned long result[])
{ for(int i=1;i<=99;i++)
{ unsigned long a=1;
  for(int j=0;j<i;j++) { a=a*3; }
  for(int b=0;b<8;b++) { result[b]=0;}
  for(int c=0;c<8;c++) { result[c]=a%100000000; a=a/010000000;}
  print_result(result); } }
  
void print_result(unsigned long result[])
{ int top_level=1;
  for(int i=7;i>=0;i--) { if(result[i]!=0) top_level=0; }
  for(int d=1;d<=99;d++)
  { if(top_level==0) 
  { printf("3^%d=",d);
    for(int i=7;i>=0;i--)
  { if(result[i]!=0) printf("%lu",result[i]); } }
    printf("\n"); 
    break; } }