#include <stdio.h>

int main() {
  int devemos_continuar = 1;
  long n;
  while (devemos_continuar) {
    devemos_continuar = scanf("%ld", &n) != EOF;
    if (devemos_continuar) {
      // grossamente equivalente ao "p = (-1, -1, -1, -1)"
      long prim1 = -1, prim2 = -1, prim3 = -1, prim4 = -1;
      {
        // bloco que determina se o número é soma dos quadrados de 4 primos consecutivos
        long p1 = 2, p2 = 3, p3 = 5, p4 = 7;
        long soma = p1*p1 + p2*p2 + p3*p3 + p4*p4;

        // enquanto o próximo primo é válido, continua tentando...
        while (prim1 == -1 && p4 != -1 && soma <= n) {
          if (soma == n) {
            // grossamente equivalente ao "p = (p1, p2, p3, p4)"
            prim1 = p1;
            prim2 = p2;
            prim3 = p3;
            prim4 = p4;
          } else {
            // não deu como soma destes primos consecutivos
            // vamos rodar os números e tentar o próximo primo
            p1 = p2;
            p2 = p3;
            p3 = p4;
            // fazendo aqui o desenrolar da função proximo_primo

            // começo do bloco equivalente à chamada a proximo_primo
            {
              long ret = -1;
              long next = p4 + 2;
              while (next < 10000 && ret == -1) {
                long divisor;
                for (divisor = 3; divisor*divisor < next && next % divisor != 0; divisor += 2);
                if (next % divisor != 0) {
                  ret = next;
                }
                next += 2;
              }
              p4 = ret;
            }
          }
          soma = p1*p1 + p2*p2 + p3*p3 + p4*p4;
        }
      }
      if (prim1 != -1) {
        printf("É a soma de alguns primos\n");
      } else {
        printf("impossível representar\n");
      }
    }
  }
  return 0;
}