-#define _ECHO void _echo(char *s, ... ) { va_list ap; for(va_start(ap,s);s;s=va_arg(ap,char *)) fputs(s,stdout); va_end(ap); }
-#define print(...) _echo(__VA_ARGS__,"\n",NULL)
-#define echo(...) _echo(__VA_ARGS__,NULL)
+#define _ECHO void _cll1_print(int p,char *s, ... ) { int p2=0; va_list ap; for(va_start(ap,s);s!=(void *)&_cll1_print;s=va_arg(ap,char *)) { if(p) {if(p2) putchar(' '); else p2=1;} fputs(s?s:"",stdout); } va_end(ap); if(p) putchar('\n');}
+#define print(...) _cll1_print(1,__VA_ARGS__,(void *)&_cll1_print)
+#define echo(...) _cll1_print(0,__VA_ARGS__,(void *)&_cll1_print)