template

const char *Ntoa(T n)

    {

     static char buf[30];

     char *ptr = buf + 29;

     bool negative = false;

     if(n < 0)

         {

         negative = true;

         n = abs(n);

         }

         do

             {

             *--ptr = char('0' + (n % 10));

             }

             while((n /= 10));

             if(negative)

             *--ptr = '-';

             return ptr;

        };

        template

        const char *uNtoa(T n)

            {

             static char buf[30];

             char *ptr = buf + 29;

             do

                 {

                 *--ptr = char('0' + (n % 10));

                 }

                 while((n /= 10));

                 return ptr;

            };