#include <assert.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>


int main(void) {
	char *numstr;
	int out_len;

	unsigned long long num = 1649463153695818612;

	setlocale(LC_ALL, "");
	
	const int len = snprintf(NULL, 0, "%'llu", num);
	assert(len > 0);

	numstr = malloc((size_t) len + 1);
	assert(numstr != NULL);
	
	out_len = snprintf(numstr, len + 1, "%'llu", num);
	assert(out_len == len && numstr[len] == 0);
	
	printf("%s\n", numstr);
	
	free(numstr);
	
	
	return 0;
}