#include <stdio.h>
#include <time.h>
#define power(i) (i-1?(i-2?(i-3?(i-4?(i-5?(i-6?(i-7?(i-8?(i-9?0:387420489):16777216):823543):46656):3125):256):27):4):1)
int cmp(const char *a, const char *b){
  return (*a<*b)?-1:(*a>*b);
}
int main() {
  struct { char num1, num2, num3, num4, num5, num6, num7, num8, num9, num10, num11; } sumnum;
  unsigned int a, b, c, d, e, f, g, h, j, k;
  unsigned int sum, sumsort, p; /* 0xFFFF,FFFF = 4,294,967,295 */
  clock_t s = clock();

  sumnum.num11 = '\0';
  for(a = 0; a <= 4; a++) { // 1
  for(b = a; b <= 9; b++) { // 2
  for(c = b; c <= 9; c++) { // 3
  for(d = c; d <= 9; d++) { // 4
  for(e = d; e <= 9; e++) { // 5
  for(f = e; f <= 9; f++) { // 6
  for(g = f; g <= 9; g++) { // 7
  for(h = g; h <= 9; h++) { // 8
  for(j = h; j <= 9; j++) { // 9
  for(k = j; k <= 9; k++) { // 10
    sum = power(k) + power(j) + power(h) + power(g) + power(f) + power(e) + power(d) + power(c) + power(b) + power(a);
    p = k+j*10+h*100+g*1000+f*10000+e*100000+d*1000000+c*10000000+b*100000000+a*1000000000;
    sprintf((char*)&sumnum, "%010u", sum);
    qsort(&sumnum, 10, sizeof(char), (void*)cmp);
    sscanf((char*)&sumnum, "%u", &sumsort);
    if( sumsort == p) printf("%u %d[msec]\n", sum, clock() - s);
  }}}}}}}}}}
}