Faits:
Faits:
A. La société X._SA était affiliée à la Caisse de compensation de la société suisse des entrepreneurs (la caisse) en tant qu'employeur. La faillite de la société a été prononcée le 28 avril 1998. A ce moment-là, F._ occupait la fonction d'administrateur avec signature individuelle, H._ celle de directeur avec signature individuelle, tandis que M._ disposait d'une procuration individuelle inscrite au Registre du commerce.
Par deux décisions du 31 janvier 2000, la caisse a demandé conjointement à M._, en sa qualité de secrétaire de la société faillie, et à H._, en tant que directeur, de réparer le dommage de 23'631 fr. 35 qu'elle avait subi dans la faillite de la société. Cette somme correspondait aux cotisations paritaires dues pour les mois de décembre 1997, janvier et avril 1998.
Par deux décisions du 31 janvier 2000, la caisse a demandé conjointement à M._, en sa qualité de secrétaire de la société faillie, et à H._, en tant que directeur, de réparer le dommage de 23'631 fr. 35 qu'elle avait subi dans la faillite de la société. Cette somme correspondait aux cotisations paritaires dues pour les mois de décembre 1997, janvier et avril 1998.
B. Les prénommés ayant formé opposition à ces décisions, par lettres des 3 et 29 février 2000, la caisse a saisi la Commission cantonale genevoise de recours en matière d'AVS/AI (aujourd'hui : Tribunal cantonal des assurances sociales du canton de Genève) de deux « recours », les 6 et 30 mars 2000, en concluant à ce que les défendeurs fussent condamnés à lui payer la somme précitée.
Par jugement du 26 mai 2004, la juridiction cantonale a rejeté les deux demandes en réparation du dommage. Elle a alloué une indemnité de dépens de 2'000 fr. à chaque défendeur.
Par jugement du 26 mai 2004, la juridiction cantonale a rejeté les deux demandes en réparation du dommage. Elle a alloué une indemnité de dépens de 2'000 fr. à chaque défendeur.
C. La caisse interjette recours de droit administratif contre ce jugement dont elle demande l'annulation, avec suite de dépens, en concluant principalement à ce que les défendeurs soient condamnés à lui payer solidairement la somme de 23'631 fr. 35, subsidiairement au renvoi de la cause à la juridiction cantonale.
Les intimés concluent au rejet du recours dans la mesure où il est recevable, avec suite de dépens.
L'Office fédéral des assurances sociales a renoncé à se déterminer.
Considérant en droit:
Considérant en droit:
1. Dans leurs écritures respectives, les parties ont abordé la question de la compétence du Tribunal cantonal des assurances sociales du canton de Genève pour statuer sur les demandes en réparation du dommage des 6 et 30 mars 2000. La jurisprudence a tranché ce point dans l'intervalle, si bien que la compétence de ce Tribunal est donnée (consid. 2.2 de l'arrêt E. du 10 novembre 2004, H 82/04, citant notamment les arrêts ATF 130 I 230-231 consid. 2.4 à 2.6, et ATF 129 V 199 consid. 4.2).
1. Dans leurs écritures respectives, les parties ont abordé la question de la compétence du Tribunal cantonal des assurances sociales du canton de Genève pour statuer sur les demandes en réparation du dommage des 6 et 30 mars 2000. La jurisprudence a tranché ce point dans l'intervalle, si bien que la compétence de ce Tribunal est donnée (consid. 2.2 de l'arrêt E. du 10 novembre 2004, H 82/04, citant notamment les arrêts ATF 130 I 230-231 consid. 2.4 à 2.6, et ATF 129 V 199 consid. 4.2).
2. La loi fédérale sur la partie générale du droit des assurances sociales du 6 octobre 2000 (LPGA) est entrée en vigueur le 1er janvier 2003, entraînant la modification de nombreuses dispositions légales dans le domaine de l'AVS. Le cas d'espèce reste toutefois régi par les dispositions en vigueur jusqu'au 31 décembre 2002, eu égard au principe selon lequel les règles applicables sont celles en vigueur au moment où les faits juridiquement déterminants se sont produits (ATF 129 V 4 consid. 1.2 et les références).
2. La loi fédérale sur la partie générale du droit des assurances sociales du 6 octobre 2000 (LPGA) est entrée en vigueur le 1er janvier 2003, entraînant la modification de nombreuses dispositions légales dans le domaine de l'AVS. Le cas d'espèce reste toutefois régi par les dispositions en vigueur jusqu'au 31 décembre 2002, eu égard au principe selon lequel les règles applicables sont celles en vigueur au moment où les faits juridiquement déterminants se sont produits (ATF 129 V 4 consid. 1.2 et les références).
3. Le litige porte sur la responsabilité des intimés dans le préjudice causé à la caisse recourante, au sens de l'art. 52 LAVS et de la jurisprudence y relative (ATF 126 V 237 consid. 2a, 123 V 170 consid. 2a, 122 V 66 consid. 4a et les références), par la perte des cotisations paritaires afférentes aux mois de décembre 1997, janvier et avril 1998. La juridiction cantonale a exposé correctement les règles légales et jurisprudentielles applicables en matière de responsabilité de l'employeur et de connaissance du dommage, au sens des anciens art. 52 LAVS et 82 RAVS, de sorte qu'il suffit de renvoyer à ses considérants.
En ce qui concerne la notion d'organe selon l'art. 52 LAVS, on précisera qu'elle est en principe identique à celle qui se dégage de l'art. 754 al. 1 CO. En matière de responsabilité des organes d'une société anonyme, l'art. 52 LAVS vise aussi, en première ligne, les organes statutaires ou légaux de celle-ci, soit les administrateurs, l'organe de révision ou les liquidateurs, c'est-à-dire les personnes qui prennent en fait les décisions normalement réservées aux organes ou qui pourvoient à la gestion, concourant ainsi à la formation de la volonté sociale d'une manière déterminante (ATF 128 III 30 consid. 3a, 117 V 441 consid. 2b, 571 consid. 3, 107 II 353 consid. 5a; Nussbaumer, Les caisses de compensation en tant que parties à une procédure de réparation d'un dommage selon l'art. 52 LAVS, RCC 1991 p. 403 sv.; Knus, Die Schadenersatzpflicht des Arbeitgebers in der AHV, thèse Zurich 1989, p. 14 ss). Mais les critères d'ordre formel ne sont, à eux seuls, pas décisifs et la qualité d'organe s'étend aux personnes qui ont pris des décisions réservées aux organes ou se sont chargées de la gestion proprement dite, participant ainsi de manière déterminante à la formation de la volonté de la société (ATF 119 II 255, 117 II 571 consid. 3, 441 consid. 2b, 114 V 214 ss consid. 4, 79 sv.; Forstmoser, Die aktienrechtliche Verantwortlichkeit, 2e éd., p. 209 ss; Böckli, Schweizer Aktienrecht, 2e éd., p. 1072, note 1969; Forstmoser/Meier-Hayoz/Nobel, Schweizerisches Aktienrecht, § 37, note 4; Peter Viktor Kunz, Rechtsnatur und Einredeordnung der aktienrechtlichen Verantwortlichkeitsklage, thèse Berne 1993, p. 182 ss).
La qualité d'organe est donc réservée aux personnes exécutant leurs obligations au sein de la société ou à l'égard des tiers en vertu de leur propre pouvoir de décision. Le fait qu'une personne est inscrite au registre du commerce avec droit de signature n'est, à lui seul, pas déterminant (Forstmoser, op. cit., p. 209, note 656). La préparation de décisions par une collaboration technique, commerciale ou juridique ne suffit pas à conférer la qualité d'organe au sens matériel. En d'autres termes, la responsabilité liée à la qualité d'organe présuppose que l'intéressé ait eu des compétences allant nettement au-delà d'un travail préparatoire et de la création des bases de décisions, pour se concentrer sur la participation, comme telle, à la formation de la volonté de la société. La responsabilité pour la gestion ne vise ainsi que la direction supérieure de la société, au plus haut niveau de sa hiérarchie (sur ces divers points, voir ATF 117 II 572 sv).
Un organe de fait n'est appelé à assumer une responsabilité que pour les domaines dans lesquels il a effectivement déployé une activité (Forstmoser, Die aktienrechtliche Verantwortlichkeit, 2e éd., p. 216 n° 687). Contrairement à un organe au sens formel, il n'a donc pas un devoir de surveillance (cura in custodiendo) à l'endroit de l'activité des autres organes, de fait ou de droit, de la société (voir à ce sujet l'arrêt ATF 114 V 223 consid. 4a; Forstmoser, op. cit., p. 115 n° 321; Egli, Aperçu de la jurisprudence récente du Tribunal fédéral relative à la responsabilité des administrateurs de sociétés anonymes, Recueil des travaux de la Journée d'étude organisée le 6 novembre 1986 par la Fédération suisse des avocats et le Centre du droit de l'entreprise, publication CEDIDAC 1987, p. 33).
Quant à un directeur de société, il a généralement la qualité d'organe en raison de l'étendue des compétences que cette fonction suppose (ATF 104 II 197 consid. 3b; Forstmoser/Meier-Hayoz/Nobel, op. cit., § 37, p. 443 note 17; Böckli, op. cit., note 1969 p. 1072). Mais il ne doit répondre que des actes ou des omissions qui relèvent de son domaine d'activités, ce qui, en d'autres termes, dépend de l'étendue des droits et des obligations qui découlent de ses rapports internes. Sinon, il serait amené à réparer un dommage dont il ne pouvait empêcher la survenance, faute de disposer des pouvoirs nécessaires (ATF 111 V 178 consid. 5a, Forstmoser/Meier-Hayoz/Nobel, op. cit., § 37, p. 442 note 8; consid. 7.3 de l'arrêt P. du 16 avril 2003, H 234/02, résumé in HAVE/REAS 2003 p. 251).
Quant à un directeur de société, il a généralement la qualité d'organe en raison de l'étendue des compétences que cette fonction suppose (ATF 104 II 197 consid. 3b; Forstmoser/Meier-Hayoz/Nobel, op. cit., § 37, p. 443 note 17; Böckli, op. cit., note 1969 p. 1072). Mais il ne doit répondre que des actes ou des omissions qui relèvent de son domaine d'activités, ce qui, en d'autres termes, dépend de l'étendue des droits et des obligations qui découlent de ses rapports internes. Sinon, il serait amené à réparer un dommage dont il ne pouvait empêcher la survenance, faute de disposer des pouvoirs nécessaires (ATF 111 V 178 consid. 5a, Forstmoser/Meier-Hayoz/Nobel, op. cit., § 37, p. 442 note 8; consid. 7.3 de l'arrêt P. du 16 avril 2003, H 234/02, résumé in HAVE/REAS 2003 p. 251).
4. La décision litigieuse n'ayant pas pour objet l'octroi ou le refus de prestations d'assurance, le Tribunal fédéral des assurances doit se borner à examiner si les premiers juges ont violé le droit fédéral, y compris par l'excès ou par l'abus de leur pouvoir d'appréciation, ou si les faits pertinents ont été constatés d'une manière manifestement inexacte ou incomplète, ou s'ils ont été établis au mépris de règles essentielles de procédure (art. 132 en corrélation avec les art. 104 let. a et b et 105 al. 2 OJ).
4. La décision litigieuse n'ayant pas pour objet l'octroi ou le refus de prestations d'assurance, le Tribunal fédéral des assurances doit se borner à examiner si les premiers juges ont violé le droit fédéral, y compris par l'excès ou par l'abus de leur pouvoir d'appréciation, ou si les faits pertinents ont été constatés d'une manière manifestement inexacte ou incomplète, ou s'ils ont été établis au mépris de règles essentielles de procédure (art. 132 en corrélation avec les art. 104 let. a et b et 105 al. 2 OJ).
5. 5.1 Les juges cantonaux ont considéré qu'il n'existait aucun indice permettant d'admettre que H._ assumait les fonctions d'organe matériel de la société X._SA. Ils ont dès lors nié sa responsabilité, au sens de l'art. 52 LAVS, dans le préjudice subi par la caisse de compensation.
5.2 La recourante conteste ce point de vue. Elle rappelle que l'intimé a été directeur de l'entreprise X._, au bénéfice d'une signature individuelle jusqu'à l'ouverture de la faillite. A son avis, il participait de manière déterminante à la formation de la volonté de la société.
5.3 Sur la base des faits constatés par les premiers juges, la qualité d'organe de fait n'est pas suffisamment établie s'agissant de H._, que ce soit de manière générale ou tout particulièrement pour le paiement des cotisations aux assurances sociales. En effet, rien ne permet de dire que le prénommé était chargé de la gestion administrative et, en particulier, du règlement des comptes vis-à-vis de l'administration de l'AVS. De sa réponse du 30 mars 2000 à la demande en réparation du 6 mars 2000, de même que lors de son audition du 24 septembre 2003 par le Tribunal cantonal des assurances sociales, il ressort que les tâches de cet intimé consistaient uniquement dans l'acquisition, le suivi et la facturation des chantiers dans le canton de Genève, tandis que la gestion administrative et financière de la société incombait aux époux. Lors de son audition du 24 septembre 2003, M._ a d'ailleurs confirmé que H._ s'occupait de la partie technique de la société genevoise, mais qu'il n'avait aucun pouvoir en matière de gestion administrative ou financière. C._ l'a confirmé à son tour, lors de son audition le 12 novembre 2003.
A quelque échelon de la procédure que ce soit, la caisse recourante n'a ni contredit ni contesté les faits rapportés par les témoins, ni étayé ses allégués. On doit ainsi nier la responsabilité de H._ dans le préjudice subi par la recourante, car les relations avec la caisse de compensation ne relevaient pas, sur le plan interne, de son domaine d'activités. Sur ce point le recours de la caisse doit être rejeté.
A quelque échelon de la procédure que ce soit, la caisse recourante n'a ni contredit ni contesté les faits rapportés par les témoins, ni étayé ses allégués. On doit ainsi nier la responsabilité de H._ dans le préjudice subi par la recourante, car les relations avec la caisse de compensation ne relevaient pas, sur le plan interne, de son domaine d'activités. Sur ce point le recours de la caisse doit être rejeté.
6. 6.1 De manière à lier le Tribunal fédéral des assurances, les premiers juges ont constaté que M._ avait démissionné de sa charge d'administratrice le 13 octobre 1995, par lettre adressée à son époux dans laquelle elle déclarait n'avoir plus mot à dire au sujet de la gestion de la société. Les premiers juges ont aussi constaté que l'intimée avait continué à travailler dans l'entreprise en qualité de secrétaire et qu'elle avait conservé une procuration individuelle pour assurer le suivi des tâches administratives. En particulier, elle établissait les décomptes de salaires à l'attention de la caisse de compensation. En revanche, l'intimée ne s'occupait pas de la comptabilité. Pour le surplus, la juridiction cantonale a constaté que le Tribunal de Police avait acquitté l'intimée du chef de détournement de l'impôt à la source.
Dès lors, le Tribunal cantonal a retenu que l'intimée n'avait pas la qualité d'organe de fait de la société X._SA, si bien que sa responsabilité n'était pas engagée dans le préjudice subi par la caisse de compensation.
6.2 Cette dernière ne partage pas l'appréciation de la juridiction cantonale. Elle rappelle que l'intimée établissait les fiches ainsi que les attestations de salaires de l'entreprise, de même qu'elle préparait et signait les ordres bancaires pour le paiement des charges sociales durant la période au cours de laquelle les cotisations n'avaient pas été payées (cf. procès-verbaux des auditions de C._, du 12 novembre 2003, ainsi que des deux intimés, des 24 septembre 2003). Pour cela, elle bénéficiait d'une procuration individuelle inscrite au Registre du commerce. Selon la caisse, l'intimée avait ainsi la qualité d'organe de fait de la société.
6.3 Les objections de la recourante sont pertinentes. En effet, il ressort du procès-verbal d'audition de M._ qu'elle avait la signature individuelle sur les comptes bancaires de la société genevoise et qu'elle prenait la responsabilité d'effectuer les paiements, tant que les comptes étaient provisionnés; lors de problèmes de liquidités, son époux choisissait les créanciers qui devaient être désintéressés. De son côté, C._ a précisé que M._ recouvrait les créances et effectuait les paiements de la société, qu'elle préparait les ordres bancaires pour le règlement des charges sociales et qu'elle les signait, à l'instar des paiements courants, tandis qu'une autre employée, T._, passait les écritures, ce que cette dernière a confirmé.
M._, qui s'occupait de la gestion administrative des charges sociales, a indiqué lors de son audition qu'elle ne se souvenait pas d'avoir demandé des délais de paiement pour leur règlement; elle a ajouté qu'elle aurait néanmoins été habilitée à le faire, si cela avait été nécessaire. De plus, elle avait demandé que les décisions de cotisations lui fussent directement adressées pour en assurer le suivi.
Eu égard aux tâches que M._ exécutait, singulièrement l'établissement des attestations de salaire et la signature des ordres de paiement, ainsi qu'aux pouvoirs de disposition non limités dans le temps sur les liquidités de la société, dont elle faisait régulièrement usage, on doit admettre, contrairement à l'opinion des premiers juges, que l'intimée avait la qualité d'organe de fait de la société X._SA. L'activité qu'elle a déployée était ainsi de nature à engager sa responsabilité, au sens de l'art. 52 LAVS, vis-à-vis de l'administration de l'AVS. En cela, le cas d'espèce est analogue à l'affaire qui avait donné lieu à l'arrêt non publié L. du 17 juillet 1995 (H 266/94). Au demeurant, il n'apparaît pas qu'une autre personne que l'intimée soit intervenue dans les relations de la société X._SA avec l'AVS.
6.4 Il reste ainsi à examiner la question de la responsabilité de M._, au sens de l'art. 52 LAVS, dans le dommage causé à la caisse de compensation.
Cette tâche incombe au Tribunal cantonal des assurances sociales du canton de Genève, à qui la cause doit être renvoyée à cet effet.
Cette tâche incombe au Tribunal cantonal des assurances sociales du canton de Genève, à qui la cause doit être renvoyée à cet effet.
7. 7.1 La procédure n'est pas gratuite, s'agissant d'un litige qui ne porte pas sur l'octroi ou le refus de prestations d'assurance (art. 134 OJ a contrario). Les frais de justice seront supportés à parts égales par la recourante et par M._, qui succombent (art. 156 al. 1 OJ).
7.2 La recourante est redevable d'une indemnité de dépens à H._ qui obtient gain de cause (art. 159 al. 1 OJ; art. 2 al. 2 Tarif TFA).
La recourante, qui obtient gain de cause dans la mesure où le jugement attaqué est annulé dans la mesure où il concerne M._, conclut à l'octroi d'une indemnité de dépens. Elle ne saurait toutefois y prétendre, attendu qu'elle agit en qualité d'organisme chargé de tâches de droit public (art. 159 al. 2 OJ in fine; ATF 128 V 133 consid. 5b, 126 V 150 consid. 4a, 118 V 169 consid. 7 et les références).
Par ces motifs, le Tribunal fédéral des assurances prononce:
Par ces motifs, le Tribunal fédéral des assurances prononce:
1. Le recours est partiellement admis. Dans la mesure où il concerne M._, le jugement du Tribunal cantonal des assurances sociales du canton de Genève du 26 mai 2004 est annulé, la cause lui étant renvoyée pour instruction complémentaire au sens des considérants et nouveau jugement. Le recours est rejeté pour le surplus.
1. Le recours est partiellement admis. Dans la mesure où il concerne M._, le jugement du Tribunal cantonal des assurances sociales du canton de Genève du 26 mai 2004 est annulé, la cause lui étant renvoyée pour instruction complémentaire au sens des considérants et nouveau jugement. Le recours est rejeté pour le surplus.
2. Les frais de justice, d'un montant total de 1'700 fr., sont répartis par moitié entre la Caisse de compensation de la société suisse des entrepreneurs et M._, soit 850 fr. chacune.
2. Les frais de justice, d'un montant total de 1'700 fr., sont répartis par moitié entre la Caisse de compensation de la société suisse des entrepreneurs et M._, soit 850 fr. chacune.
3. Les frais mis à la charge de la recourante sont compensés par l'avance de frais de 1'700 fr. qu'elle a versée. La différence, soit 850 fr., lui est restituée.
3. Les frais mis à la charge de la recourante sont compensés par l'avance de frais de 1'700 fr. qu'elle a versée. La différence, soit 850 fr., lui est restituée.
4. La recourante versera à H._ la somme de 1'500 fr. (y compris la taxe sur la valeur ajoutée) à titre de dépens pour l'instance fédérale.
4. La recourante versera à H._ la somme de 1'500 fr. (y compris la taxe sur la valeur ajoutée) à titre de dépens pour l'instance fédérale.
5. Le ch. 3 du dispositif du jugement du Tribunal cantonal des assurances sociales du canton de Genève du 26 mai 2004 est réformé en ce sens que l'indemnité de dépens allouée à M._ est supprimée.
5. Le ch. 3 du dispositif du jugement du Tribunal cantonal des assurances sociales du canton de Genève du 26 mai 2004 est réformé en ce sens que l'indemnité de dépens allouée à M._ est supprimée.
6. Le présent arrêt sera communiqué aux parties, au Tribunal cantonal des assurances sociales du canton de Genève et à l'Office fédéral des assurances sociales.
Lucerne, le 14 février 2006
Au nom du Tribunal fédéral des assurances
La Présidente de la IIe Chambre: Le Greffier: