Examples
Input: [('user_1', 'camera_owner', 'camera_1'), ('user_1', 'group_member', 'group_1'), ('group_1', 'camera_owner', 'camera_2'), ('group_1', 'group_member', 'group_2'), ('group_2', 'camera_owner', 'camera_3'), ('user_2', 'group_member', 'group_1')]
Expected Output: 'user_1'
Explanation: user_1 has camera_1 directly, camera_2 through group_1, and camera_3 through group_1 -> group_2. user_2 only gets camera_2 and camera_3.
Input: [('user_9', 'camera_owner', 'camera_42')]
Expected Output: 'user_9'
Explanation: This is the single-record edge case. The only referenced camera is camera_42, and user_9 owns it directly.
Input: [('group_1', 'camera_owner', 'camera_1'), ('group_2', 'camera_owner', 'camera_2'), ('user_1', 'group_member', 'group_1'), ('user_1', 'group_member', 'group_2'), ('user_2', 'group_member', 'group_1'), ('user_3', 'group_member', 'group_2')]
Expected Output: 'user_1'
Explanation: user_1 combines access from two groups and reaches both cameras. user_2 and user_3 each reach only one.
Input: [('group_3', 'camera_owner', 'camera_4'), ('group_2', 'group_member', 'group_3'), ('group_1', 'group_member', 'group_2'), ('user_7', 'group_member', 'group_1'), ('user_7', 'camera_owner', 'camera_1'), ('group_1', 'camera_owner', 'camera_2'), ('group_2', 'camera_owner', 'camera_3'), ('user_8', 'group_member', 'group_2')]
Expected Output: 'user_7'
Explanation: user_7 gets camera_1 directly and inherits camera_2, camera_3, and camera_4 through group_1 -> group_2 -> group_3. user_8 only gets camera_3 and camera_4.
Input: [('group_1', 'camera_owner', 'camera_1'), ('group_1', 'camera_owner', 'camera_1'), ('group_2', 'camera_owner', 'camera_2'), ('group_1', 'group_member', 'group_2'), ('user_1', 'group_member', 'group_1'), ('user_1', 'group_member', 'group_1'), ('user_2', 'camera_owner', 'camera_1')]
Expected Output: 'user_1'
Explanation: Duplicate records should not change the result. user_1 gets camera_1 from group_1 and camera_2 through group_1 -> group_2, while user_2 only has camera_1.