How to Get Particles and Collections Names

I have multiple spheres each in their own collection with their own unique particle system. I want the name of the collection from every selected object and then have that collection assigned as the Field Weights, Effector Collection in their respective particle settings.

I can figure out how to do that. I can’t figure out how to determine the name of the collection from each selected object or the name of the particle system assigned to each object. Any help would be appreciated.

maybe :

for o in bpy.context.selected_objects:
    for n in o.users_collection:
        if o.particle_systems: 
            for p in o.particle_systems:
                print('Object = ' + o.name,'/', 
                'Collection = ' + n.name,'/', 
                'Particle System = ' +  p.name)
                 
                print('')
                
        # if object has no particle system             
        else:
            print('Object = ' + o.name, '/', 
                 'Collection = ' + n.name)