#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int compareStrUp(const void *a, const void *b) { return strcmp((const char *)a, (const char *)b); } int main() { long long n; int cnt=0, i, j=0; scanf("%lld", &n); char arr[1000][16]; for (i=1; i<=sqrt(n); i++) { if (n%i==0) { snprintf(arr[j++], 16, "%d%lld", i, n/i); snprintf(arr[j++], 16, "%lld%d", n/i, i); cnt+=2; } } qsort(arr, cnt, sizeof(arr[0]), compareStrUp); int dub=0; for (i=0; i<cnt-1; i++) { if (strcmp(arr[i], arr[i+1])==0) dub++; } printf("%d\n", cnt-dub); return 0; }