#!/usr/bin/env python3

def read_p():
    (x, y, r) = input().split()
    return [2*int(x)+int(y), -2*int(x)+int(y), r]

n = int(input())
P = sorted([read_p() for _ in range(n)])

min_neg = 1<<60
ans = 0
for i in range(n):
    (_, y, r) = P[i]
    if y >= min_neg:
        if r == 'P':
            ans = -n-1
        P[i][2] = 'N'
    elif r == 'N':
        min_neg = y
max_seen = max_taken = -(1<<60)
for (_, y, r) in reversed(P):
    if r == 'N': continue
    max_seen = max(max_seen, y)
    if r == 'P' and y > max_taken:
        ans += 1
        max_taken = max_seen
print(ans if ans >= 0 else 'impossible')
