Three-component approach to modular synthesis of tetra-substituted furans and pyrroles