# SPDX-License-Identifier: MIT
class Added:
    def __init__(self,id):self.id=id
    def __repr__(self):
        if self.id==1 and len(appended)==1:
            appended.append(Added(2))
        return str(self.id)
appended=[Added(1)]
print(repr(appended))
class Removed:
    def __init__(self,id):self.id=id
    def __repr__(self):
        if self.id==1 and len(removed)==3:
            removed.pop(0)
        return str(self.id)
removed=[Removed(1),Removed(2),Removed(3)]
print(repr(removed))
class MappingRemoved:
    def __init__(self,id):self.id=id
    def __repr__(self):
        if self.id==1:
            del mapping['a']
            del mapping['b']
        return str(self.id)
mapping={'a':MappingRemoved(1),'b':MappingRemoved(2)}
print(repr(mapping))

class Cleared:
    def __init__(self,id):self.id=id
    def __repr__(self):
        clearing.clear()
        return str(self.id)
clearing=[Cleared(1),Cleared(2)]
print(repr(clearing),len(clearing))
class MappingAdded:
    def __init__(self,id):self.id=id
    def __repr__(self):
        if self.id==1 and len(growing)==1:
            growing['b']=MappingAdded(2)
        return str(self.id)
growing={'a':MappingAdded(1)}
print(repr(growing))
