#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void longestcommonrefix(char **strs, int n){
    if(n == 0){
        printf("Invalid input\n");
        return;
    }
    char* first_str = strs[0];
    int first_len = srtlen(first_str);
    int prefix_len = 0;
    for(int i = 0; i < first_len; i++){
        char current_char = first_str[i];
        int is_common = 0;
        for(int j = 1; j < n; j++){
            if(i >= strlen(strs[j]) || strs[j][i] != current_char){
                is_common = 0;
                break;
            }
        }
        if(is_common){
            prefix_len++;
        }else {
            break;
        }
    }
    if(prefix_len > 0){
        char temp = first_str[prefix_len];
        first_str[prefix_len] = '\0';
        printf("%s\n", first_str);
        first_str[prefix_len] = temp;
    }else{
        printf("Invalid input\n");
    }
}
int main(){
    int N;
    if(scanf("%d", &N) != 1){
        return 1;
    }
    if(N < 1 || N > 100){
        printf("Invalid input\n");
        return 1;
    }
    char **strings = (char **)malloc(N *sizeof(char *));
    if(strings == NULL){
        return 1;
    }
    for(int i =0; i < n; i++){
        strings[i] = (char *)malloc(101);
        if(strings[i] == NULL){
            for(int k = 0; k < i; k++){
                free(strings[k]);
            }
            free(strings);
            return 1;
        }
        scanf("%100s", strings[i]);
    }
    longestcommonprefix(strings, N);
    for(int i = 0; i < N; i++){
        free(strings[i]);
    }
    free(strings);
    return 0;
}