// editor2
#include<stdio.h>
#include<string.h>
struct User{
    strcat(users[j].times, time);
    char name[51];
    char times[1000];
};
int main(){
    int n;
    scanf("%d", &n);
    if(n < 0){
        printf("Invalid input\n");
        return 0;
    }
    struct User users[100];
    int count = 0;
    for(int i = 0;i < n; i++){
        char name[51], time[20];
        scanf("%s%s", name, time);
        int found = 0;
        for(int j = 0;j < count; j++){
            if(strcmp(users[j].name, name) == 0){
                strcat(users[j].times, ", ");
                strcat(users[j].times, time);
                found = 1;
                break;
            }
    }
    if(!found){
        strcpy(users[count].name, name);
        strcpy(users[count].times, time);
        count++;
    }
}
printf("%d\n", count);
for(int i = 0; i < count; i++){
    printf("%s accessed at %s\n", users[i].name,users[i].times);
}
return 0;
}