#include #include void run(void){ int n; scanf("%d",&n); int a,b,c; for(a=1;a<=n/3;a++){ for(b=a;b<=(n-a)/2;b++){ c=n-a-b; printf("%d %d %d\n",a,b,c); } } return; } void run2(void){ int n; scanf("%d",&n); int a,b,c; char *s=(char *)malloc(sizeof(char)*5*3*(n+1)); int i=0; for(a=1;a<=n/3;a++){ for(b=a;b<=(n-a)/2;b++){ c=n-a-b; i+=sprintf(s+i,"%d %d %d\n",a,b,c); } printf("%s",s); i=0; } free(s); return; } int main(void){ run2(); return 0; }