- class molecule(object): 
-   
-     def __init__(self,name): 
-         self.natoms = 10 
-   
-     def __iter__(self): 
-         for i in range(1, self.natoms + 1): 
-             yield self[i] 
-   
-     def __getitem__(self, i): 
-         return 'atom{}'.format(i) 
-   
-   
- ben = molecule('ben') 
- ite = iter(ben) 
- assert next(ite) == 'atom1' 
- assert next(ite) == 'atom2' 
- ite2 = iter(ben) 
- assert next(ite) == 'atom3' 
- assert next(ite2) == 'atom1' 
				Y2xhc3MgbW9sZWN1bGUob2JqZWN0KToKCiAgICBkZWYgX19pbml0X18oc2VsZixuYW1lKToKICAgICAgICBzZWxmLm5hdG9tcyA9IDEwCgogICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAgICAgIGZvciBpIGluIHJhbmdlKDEsIHNlbGYubmF0b21zICsgMSk6CiAgICAgICAgICAgIHlpZWxkIHNlbGZbaV0KCiAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgaSk6CiAgICAgICAgcmV0dXJuICdhdG9te30nLmZvcm1hdChpKQoKCmJlbiA9IG1vbGVjdWxlKCdiZW4nKQppdGUgPSBpdGVyKGJlbikKYXNzZXJ0IG5leHQoaXRlKSA9PSAnYXRvbTEnCmFzc2VydCBuZXh0KGl0ZSkgPT0gJ2F0b20yJwppdGUyID0gaXRlcihiZW4pCmFzc2VydCBuZXh0KGl0ZSkgPT0gJ2F0b20zJwphc3NlcnQgbmV4dChpdGUyKSA9PSAnYXRvbTEn