Иван Смирнов, проблема в том, что ваша задача относится скорей к спортивному/олимпиадному программированию, а вы занимаетесь прикладным программированием. Конечно, и то, и то - программирование, это всего лишь разные, иногда пересекающиеся, области.
Zanak, Проблему решил, спасибо что помогли разобраться. Дело было немного в другом, сейчас напишу свой ответ и решением ваш вариант отмечу тоже -- он будет полезен в схожей проблеме.
Zanak, И у меня они присутствуют, потому что в двух внешне идентичных случаях разные результаты :(
В b/__init__.py если заменить from .main import * на from .main import ClassB всё становится окей, но в первом случае же работает без этого! Хотя __all__ и там, и там присутствует (внутри main.py). Два раза одинаковый __all__ дублировать? Такое.