#include <math.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
float nanf(char *tagp)
{
    char buf[256];
    long double xx;
    sprintf(buf,"NAN%s",tagp);
    return strtof(buf,NULL);
}
long double nanl(char *tagp)
{
    char buf[256];
    long double xx;
    sprintf(buf,"NAN%s",tagp);
    return strtold(buf,NULL);
}
double nan(char *tagp)
{
    char buf[256];
    long double xx;
    sprintf(buf,"NAN%s",tagp);
    return strtod(buf,NULL);
}
