Fatti: Fatti: A. La S._ SA, con sede a X._, è stata costituita il 2 aprile 1986. Il consiglio di amministrazione era composto di C._ - membro e direttore dal 30 giugno 1989 al 30 settembre 1996, in seguito presidente fino al 14 maggio 1997, poi amministratore unico fino al 26 agosto 1997, infine amministratore unico e liquidatore fino al 19 ottobre 1998, pur avendo dimissionato il 28 agosto 1998 -, di F._ - membro dal 22 dicembre 1987 al 30 giugno 1989, successivamente presidente fino al 30 settembre 1996, pur avendo dimissionato il 10 settembre 1996 - e di G._ - membro dal 22 dicembre 1987 al 24 gennaio 1996, benché dimissionario dall'11 dicembre 1995. Il 26 agosto 1997 la società è stata sciolta d'ufficio in applicazione degli art. 708 CO e 86 ORC, mentre il 6 marzo 2000 la ragione sociale è stata radiata d'ufficio a norma delle disposizioni dell'art. 89 ORC. Tra il 23 febbraio e il 10 marzo 1999 sono stati rilasciati a favore della Cassa di compensazione del Cantone Ticino sei attestati di carenza beni relativi ai contributi paritetici per gli anni dal 1992 al 1997. Mediante distinte decisioni 3 febbraio 2000, la Cassa, constatato di aver subito un danno di fr. 391'530.90 a causa del mancato pagamento, da parte della società, dei contributi sociali per gli anni dal 1994 al 1997, nonché per riprese salariali riferite al periodo dal 1992 al 1996, ne ha postulato il risarcimento, in via solidale, da C._ per l'intero importo, da F._ limitatamente a fr. 314'953.95 e da G._ per fr. 265'392.95. Mediante distinte decisioni 3 febbraio 2000, la Cassa, constatato di aver subito un danno di fr. 391'530.90 a causa del mancato pagamento, da parte della società, dei contributi sociali per gli anni dal 1994 al 1997, nonché per riprese salariali riferite al periodo dal 1992 al 1996, ne ha postulato il risarcimento, in via solidale, da C._ per l'intero importo, da F._ limitatamente a fr. 314'953.95 e da G._ per fr. 265'392.95. B. A seguito dell'opposizione interposta dagli interessati, la Cassa il 4 aprile 2000 ha promosso nei loro confronti azione di risarcimento danni al Tribunale delle assicurazioni del Cantone Ticino, chiedendone la condanna, in via solidale, al pagamento dei contributi sociali rimasti insoluti. Nel corso della procedura, l'attrice ha ridotto l'ammontare del danno e del risarcimento preteso da C._ a fr. 378'149.60, per intervenuto pagamento di fr. 13'381.30. Con pronuncia 18 giugno 2001, la Corte cantonale ha accolto la petizione condannando i convenuti al risarcimento dei chiesti importi, sempre con vincolo di solidarietà. Con pronuncia 18 giugno 2001, la Corte cantonale ha accolto la petizione condannando i convenuti al risarcimento dei chiesti importi, sempre con vincolo di solidarietà. C. C.a Assistito dall'avv. Stefano Pizzola, C._ interpone ricorso di diritto amministrativo al Tribunale federale delle assicurazioni, al quale chiede, in accoglimento del gravame, l'annullamento del giudizio impugnato e la reiezione della petizione per intervenuta perenzione. Mentre la Cassa e F._ rinunciano a determinarsi, G._, patrocinato dall'avv. Michael Becker, propone l'accoglimento del gravame. C.b Contro la pronuncia cantonale si è pure aggravato, con il patrocinio dell'avv. Becker, G._, il quale, al pari dell'altro insorgente, postula l'annullamento del giudizio di prima istanza nonché la reiezione della petizione. La Cassa, F._ e C._ si sono astenuti da una presa di posizione. 