#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, i, j=0, cnt=0; scanf("%lld", &n); char arr[1000][16]; for (int i=1; i<=sqrt(n); i++) { if (n%i==0) { snprintf(arr[j++], 16, "%d%d", i, n/i); snprintf(arr[j++], 16, "%d%d", n/i, i); cnt+=2; } } qsort(arr, cnt, sizeof(arr[0]), compareStrUp); int dub=0; for (int i=0; i<cnt-1; i++) { if (strcmp(arr[i], arr[i+1])==0) dub++; } printf("%d\n", cnt-dub); return 0; }