#include <gmp.h>
#include <iostream>
using namespace std;

int main() {
  const char value[] = "96235339320723582731297999650619328611574614010999021848237120827540643111659533232015727929762536954203339783487664173696047326516635885455262198105225642482446692119316427901218236539841109025591679494504249230339260895382001896212435544491445991547084493259899920270469961432683116732424841364504250318567";
  mpz_t x;
  mpz_init_set_str (x, value, 10);
  
  char* to_send =  (char*) malloc(sizeof(char) * sizeof(value));
  size_t* count = (size_t*) malloc(sizeof(size_t));
  mpz_export ((void*)to_send, count, 1, sizeof(char), 1, 0, x);
  
  mpz_import(x, *count, 1, sizeof(char), 1, 0, to_send);
  
  char str[sizeof(value)];
  mpz_get_str(str, 10, x);
  std::cout << str;
  return 0;

}