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

	struct IP
	{
		char ip[20];
		int cidr;
		unsigned long mask;
		unsigned long binary;
	};
	void ip_init(struct IP *ip, const char *format);
	unsigned long ip_to_long(const int ip[4]);
	int ip_sort_by_format(const void *e1, const void *e2);
	int ip_sort_by_cidr(const void *e1, const void *e2);
	void strip(char *input);
	int main(void)
	{
		int N;
		scanf("%d\n", &N);
		struct IP ips[N];
		int cur = 0;
		for(int i = 0; i < N; i++)
		{
			char line[20];
			fgets(line, 20, stdin);
			strip(line);
			ip_init(&ips[cur], line);
			cur++;
		}

		qsort(ips, cur, sizeof(struct IP), ip_sort_by_format);
		for(int i = 0; i < cur; i++)
		{
			for(int j = 0; j < cur; j++)
			{
				if(i == j)
					continue;
				if(strcmp(ips[i].ip, "_") == 0)
					continue;
				if(strcmp(ips[j].ip, "_") == 0)
					continue;

				int small = ips[i].cidr < ips[j].cidr ? i : j;
				unsigned long masks[2] = {
					ips[i].binary & ips[small].mask,
					ips[j].binary & ips[small].mask
				};

				if(masks[0] == masks[1])
					strcpy(ips[j].ip, "_");
			}
		}

		qsort(ips, cur, sizeof(struct IP), ip_sort_by_cidr);
		for(int i = 0; i < cur; i++)
			if(strcmp(ips[i].ip, "_") != 0)
				printf("%s\n", ips[i].ip);
		printf("\n");

		return 0;
	}

	void ip_init(struct IP *ip, const char *format)
	{
		int parts[4];
		int cidr;
		sscanf(format, "%d.%d.%d.%d/%d", &parts[0], &parts[1], &parts[2], &parts[3], &cidr);

		ip->cidr = cidr;
		ip->binary = ip_to_long(parts);
		ip->mask = ~(1 << (cidr + 1)) << (32 - cidr);
		strcpy(ip->ip, format);
	}

	unsigned long ip_to_long(const int ip[4])
	{
		return ip[3] | ip[2] << 8 | ip[1] << 16 | ip[0] << 24;
	}

	void strip(char *input)
	{
		char *eol = strrchr(input, '\n');
		if(eol != NULL)
			*eol = '\0';
	}

	int ip_sort_by_format(const void *e1, const void *e2)
	{
		struct IP *ip1 = (struct IP *) e1;
		struct IP *ip2 = (struct IP *) e2;

		int diff = (ip1->binary & ip1->mask) - (ip2->binary & ip2->mask);
		if(diff == 0)
			return ip1->cidr < ip2->cidr;
		return diff;
	}

	int ip_sort_by_cidr(const void *e1, const void *e2)
	{
		struct IP *ip1 = (struct IP *) e1;
		struct IP *ip2 = (struct IP *) e2;
		return ip1->cidr - ip2->cidr;
	}