#include<stdio.h>
#include<string.h>

typedef struct {
    int number;
    char street[31];
    char city[31];
    char state[3];
    int zipcode;
} Address;

int readList(Address list[])
{
    int num, result, i = 0;
    result = scanf("%d", &num);    
    while (result != EOF) {
        list[i].number = num;
        scanf("%s", list[i].street);
        scanf("%s", list[i].city);
        scanf("%s", list[i].state);
        scanf("%d", &list[i].zipcode);
        i++;
        result = scanf("%d", &num);    
    }
    return i;
}

void printState(Address list[], char state[], int size)
{
    int i;
    printf("%s Addresses:\n", state);
    for(i = 0; i < size; i++) {
        if (strcmp(list[i].state, state) == 0) {
            printf("%d %s\n%s, %s %d\n\n",
                    list[i].number,
                    list[i].street,
                    list[i].city,
                    list[i].state,
                    list[i].zipcode);
        }
    }
}

int main(void)
{
    Address list[50];
    int size;
    
    size = readList(list);
    printState(list, "CA", size); 
    printState(list, "KS", size); 
    return 0;
}