I have seen a problem about bipartite matching on a special weighted graph and i would like to know the solution. The graph is similar to 875F - Королевские вопросы where nodes in one sides have at most 2 neighbours and the weight of these two edges are the same. However, each edge has 2 weights Ai and Bi, and the total weight is (sum of A)*(sum of B). The task is to find a maximum matching with highest total weight. N<=10000 and A,B<=30 where N is the number of nodes.