/*
Check whether NaN ** 0 == 1.
*/

#ifdef __MINGW32__
#ifndef __USE_MINGW_ANSI_STDIO
#define __USE_MINGW_ANSI_STDIO 1
#endif
#endif

#include <stdio.h>
#include <math.h>

int main(void) {
 long double check, rop, op3, op1 = 1.0L, op2 = 0.0L;

#if !defined(NANL_IS_UNAVAILABLE)
 rop = nanl("0");
#else
 op3 = op1 / op2;
 rop = (op3) / (op1/op2);
#endif

 if(rop == rop) printf("rop should be NaN but rop == rop\n");

 else {
   rop /= 2.1L;
   check = powl(rop, op2 * 3.6L);
   if(check == 1.0L) printf("1.0L\n");
   else {
     if(check != check) printf("NaN\n");
     else printf("%Le\n", rop);
   }
 }

 return 0;

}