Faits:
Faits:
A. Au printemps 1994, les époux A._, copropriétaires d'un bien-fonds sur le territoire de la commune de ..., ont décidé d'y construire une villa-chalet. Le permis ad hoc leur a été délivré le 4 juillet 1994 sur la base de plans établis par des architectes.
Sieur A._, qui était déjà à la retraite et qui se prévalait du titre d'ingénieur conseil, bien qu'il n'eût point de diplôme correspondant, a dressé les plans d'exécution, rédigé les descriptifs des travaux pour les appels d'offres et assumé, dans un premier temps, la direction du chantier.
Les travaux de terrassement, de béton armé et de maçonnerie, ainsi que les travaux se rapportant à la construction d'une canalisation pour les eaux usées ont été adjugés, sur la base de deux devis distincts, à la société en nom collectif X._.
Des difficultés ont surgi entre les maîtres de l'ouvrage et l'entrepreneur, qui ont incité les premiers à confier la direction générale du chantier au bureau d'ingénieurs civils Y._ SA à la fin du mois de septembre 1994. La facture du bureau d'ingénieurs s'est élevée à 14'000 fr.
Au cours de la réalisation du gros oeuvre, les parois des fouilles se sont effondrées. Il en est résulté un dommage estimé à 20'313 fr. 75 qui a été pris en charge, à concurrence de 13'662 fr. 50, par la compagnie d'assurances auprès de laquelle sieur A._ avait souscrit une police couvrant les dommages pouvant survenir lors de la construction de la villa-chalet.
En outre, la dalle du toit du garage exécutée par X._ SNC présentait un défaut en ce sens qu'elle comportait une cuvette provoquant des retenues d'eau. Pour remédier à ce défaut, les maîtres de l'ouvrage ont mandaté l'entreprise Z._ SA qui a réalisé une chape de forme, destinée à combler la cuvette, et posé une étanchéité.
Le 11 novembre 1994, à l'invitation des maîtres de l'ouvrage, le bureau d'ingénieurs civils Y._ SA a prié X._ SNC de quitter le chantier jusqu'au 14 du même mois. L'entreprise s'est exécutée le 15 novembre 1994.
Le 6 février 1995, X._ SNC a adressé aux maîtres de l'ouvrage une facture récapitulative faisant ressortir un total brut de 157'549 fr. 15 en sa faveur et un solde de 38'626 fr. 75 à payer par les époux A._, une fois déduits les acomptes versés par ceux-ci et l'escompte accordé par l'entreprise. Ce solde a été ramené par la suite à 24'676 fr. 75 après un ultime versement de 13'950 fr.
A la requête de X._ SNC, une hypothèque légale des artisans et entrepreneurs d'un montant de 24'676 fr. 75 a été inscrite provisoirement, le 14 février 1995, au registre foncier sur la parcelle appartenant aux époux A._.
A la requête de X._ SNC, une hypothèque légale des artisans et entrepreneurs d'un montant de 24'676 fr. 75 a été inscrite provisoirement, le 14 février 1995, au registre foncier sur la parcelle appartenant aux époux A._.
B. Le 31 octobre 1995, X._ SNC a ouvert action contre les époux A._ en vue d'obtenir le paiement de la somme précitée et des intérêts y afférents, ainsi que l'inscription définitive de l'hypothèque légale.
Les défendeurs ont conclu principalement au rejet de la demande et, reconventionnellement, au paiement de 19'368 fr. 60, intérêts en sus.
En cours d'instance, l'architecte B._ a été chargé de déterminer la valeur effective des travaux exécutés par la demanderesse et les moins-values résultant de divers défauts dont l'ouvrage livré était affecté.
Se fondant pour l'essentiel sur les conclusions de l'expert judiciaire, la Cour civile du Tribunal cantonal du canton de Vaud, par jugement du 19 juin 2002, a condamné solidairement les défendeurs à payer à la demanderesse la somme de 10'759 fr. 30, avec intérêts à 5% l'an dès le 3 février 1995, et elle a ordonné l'inscription définitive de l'hypothèque légale des artisans et entrepreneurs à due concurrence. Toutes autres ou plus amples conclusions ont été rejetées par elle.
Par arrêt du 26 février 2004, la Chambre des recours du Tribunal cantonal du canton de Vaud, saisie d'un recours en nullité formé par les défendeurs, a rejeté celui-ci et confirmé le jugement de la Cour civile.
Par arrêt du 26 février 2004, la Chambre des recours du Tribunal cantonal du canton de Vaud, saisie d'un recours en nullité formé par les défendeurs, a rejeté celui-ci et confirmé le jugement de la Cour civile.
C. Les défendeurs interjettent un recours en réforme au Tribunal fédéral. Ils concluent à la modification du jugement de la Cour civile en ce sens que la demanderesse doit être condamnée à leur payer la somme de 7'727 fr. 25, avec intérêts à 5% l'an dès le 29 mars 1996, que la requête visant à l'inscription d'une hypothèque légale doit être écartée et que le point du dispositif du jugement relatif aux dépens cantonaux doit être rectifié en conséquence. A titre subsidiaire, les défendeurs sollicitent le renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants.
La demanderesse propose le rejet du recours.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. 1.1 Interjeté par la partie défenderesse, qui a succombé dans ses conclusions libératoires et reconventionnelles, et dirigé contre un jugement final rendu en dernière instance cantonale par un tribunal supérieur (art. 48 a. 1 OJ) sur une contestation civile dont la valeur litigieuse dépasse le seuil de 8'000 fr., le présent recours est en principe recevable, puisqu'il a été exercé en temps utile (art. 54 al. 1 OJ) et dans les formes requises (art. 55 OJ).
1.2 Lorsqu'il est saisi d'un recours en réforme, le Tribunal fédéral doit conduire son raisonnement sur la base des faits contenus dans la décision attaquée, à moins que des dispositions fédérales en matière de preuve n'aient été violées, qu'il y ait lieu à rectification de constatations reposant sur une inadvertance manifeste (art. 63 al. 2 OJ) ou qu'il faille compléter les constatations de l'autorité cantonale parce que celle-ci n'a pas tenu compte de faits pertinents, régulièrement allégués et clairement établis (art. 64 OJ; <ref-ruling> consid. 2.2 p. 106 et l'arrêt cité).
Au surplus, la juridiction de réforme ne peut aller au-delà des conclusions des parties, mais elle n'est pas liée par les motifs invoqués dans les écritures (art. 63 al. 1 OJ), ni par l'argumentation juridique retenue par la cour cantonale (art. 63 al. 3 OJ; <ref-ruling> consid. 1.4 p. 140).
Au surplus, la juridiction de réforme ne peut aller au-delà des conclusions des parties, mais elle n'est pas liée par les motifs invoqués dans les écritures (art. 63 al. 1 OJ), ni par l'argumentation juridique retenue par la cour cantonale (art. 63 al. 3 OJ; <ref-ruling> consid. 1.4 p. 140).
2. 2.1 Sous le titre "Indemnité pour la cuvette sur la terrasse", les défendeurs s'en prennent, dans un premier grief, à la constatation faite en ces termes, à la page 84 de son jugement, par la cour cantonale:
"La facture établie le 22 décembre 1994 par l'entreprise Z._ SA ne permet pas à la cour de distinguer clairement les éléments qui ont trait à la chape elle-même et ceux qui se rapportent à la fonction "étanchéité" et de déterminer le calcul sur la base duquel les défendeurs parviennent à un coût de réfection de la chape de 9'837 fr.70."
Selon les défendeurs, le jugement attaqué présenterait, sur ce point, une lacune que la juridiction fédérale de réforme pourrait aisément combler, en application de l'art. 64 al. 2 OJ. En effet, si la cour cantonale avait recopié la facture susmentionnée dans son entier, au lieu de la citer de manière incomplète, elle se serait rendu compte que, sur les six postes qui y figurent pour un total de 12'403 fr. 70, le deuxième (bande d'étanchéité) et le sixième (étanchéité polyuréthane) devaient être déduits, de sorte qu'il en résultait une moins-value de 9'837 fr. 70 au lieu des 1'676 fr. 75 retenus par elle, soit une différence de 8'160 fr. 95 en faveur des maîtres de l'ouvrage.
2.2 L'art. 64 OJ est conçu pour l'hypothèse où, généralement du fait d'une analyse juridique erronée, la cour cantonale n'a pas tenu compte de certains faits parce qu'elle n'en a pas saisi la pertinence. Cette disposition s'applique ainsi toutes les fois qu'il est nécessaire de compléter les constatations de fait pour pouvoir statuer sur un recours en réforme, c'est-à-dire pour trancher les questions de droit posées par celui-ci et par les moyens libératoires de l'intimé. L'application de l'art. 64 OJ suppose qu'en raison de l'absence d'une constatation décisive, la cause ne soit pas en état d'être jugée par le Tribunal fédéral (arrêt 4C.103/2003 du 17 juillet 2003, consid. 4.2. et les références).
En l'occurrence, l'art. 64 OJ est de toute évidence inapplicable. En effet, les défendeurs ne démontrent en rien l'impossibilité dans laquelle se trouverait le Tribunal fédéral de statuer sur la base des seules constatations de fait ressortant du jugement déféré. Il ne s'agirait pas, au demeurant, de compléter ces constatations sur des points purement accessoires, si bien que la juridiction fédérale de réforme ne pourrait de toute façon pas y procéder elle-même (cf. art. 64 al. 2 OJ a contrario).
A vrai dire, les défendeurs paraissent plutôt vouloir formuler le grief d'inadvertance manifeste puisqu'ils reprochent aux premiers juges de n'avoir pas recopié une pièce dans son entier. Toutefois, comme la demanderesse le souligne à juste titre dans sa réponse, en accord avec la Chambre des recours qui a été amenée à examiner le grief d'arbitraire portant sur la même constatation (cf. l'arrêt du 26 février 2004, consid. 3c p. 8), si la Cour civile n'a pas retenu le montant indiqué par les défendeurs, ce n'est pas parce que le contenu de la facture de l'entreprise Z._ SA lui aurait échappé. Elle l'a fait parce que, au dire de l'expert judiciaire, il convenait de prendre en considération, non pas le dispositif sophistiqué et coûteux choisi par cette entreprise, mais uniquement la moins-value due à la non-réalisation du travail que la demanderesse s'était engagée à exécuter ("façon de pente"). En d'autres termes, les juges précédents ont retenu, au titre de la moins-value, le coût usuel de la réfection de l'ouvrage défectueux. Les défendeurs ne leur font pas grief d'avoir méconnu la notion juridique de la réduction du prix en proportion de la moins-value (cf. <ref-law>) et ils ne sont pas en droit de critiquer, dans un recours en réforme, le calcul concret de celle-ci, tel qu'il a été effectué sur la base de l'expertise judiciaire.
Le premier moyen soulevé par les défendeurs est ainsi voué à l'échec, à le supposer recevable.
Le premier moyen soulevé par les défendeurs est ainsi voué à l'échec, à le supposer recevable.
3. 3.1 Se fondant sur les <ref-law>, les défendeurs soutiennent, par ailleurs, que la cour cantonale devait mettre à la charge de la demanderesse "une moins-value correspondant à la moitié de la facture du bureau [i.e. le bureau d'ingénieurs civils Y._ SA], soit 7'000 fr.", dès lors qu'elle avait constaté que le comportement de la demanderesse avait été pour moitié dans la mésentente qui s'était installée entre les parties et que cette mésentente constituait le seul motif de la mise en oeuvre du bureau d'ingénieurs.
3.2 Du point de vue juridique, la motivation du grief laisse fortement à désirer. On ne voit, en effet, pas qu'il soit possible de qualifier de "moins-value" - par quoi il faut entendre la différence de valeur entre un ouvrage supposé sans défaut et le même ouvrage défectueux (<ref-ruling> consid. 4a p. 101; Peter Gauch, Le contrat d'entreprise [adaptation française par Benoît Carron], n. 1627) - l'obligation pour un maître de l'ouvrage de rémunérer le bureau d'ingénieurs auquel il a confié la direction générale des travaux.
Cela étant, s'il était établi que les défendeurs ont dû recourir à l'aide d'un tiers pour assumer dorénavant la direction du chantier en raison de la mauvaise exécution d'une partie des travaux successifs confiés à la demanderesse, le tiers se voyant attribuer en quelque sorte le rôle d'arbitre entre les deux parties, il serait concevable de faire supporter les frais occasionnés par cette intervention à l'entrepreneur fautif, en tant que dommage consécutif à la mauvaise exécution du contrat d'entreprise, dans la mesure où celle-ci a entraîné la mise en oeuvre du tiers. Telle est la thèse soutenue par les défendeurs, pour qui "la tâche du bureau Y._ a consisté à servir de vérificateur entre deux parties qui ne s'entendaient plus".
Cette thèse repose toutefois sur des allégations qui ne correspondent pas aux constatations faites par les juges cantonaux. Pour ceux-ci, "il est en effet normal, pour tout maître de l'ouvrage, de faire appel à un professionnel pour diriger les travaux et il n'est pas établi, en l'espèce, que le défendeur pouvait se passer de cet appui". Cette dernière constatation peut être interprétée en ce sens que, selon la cour cantonale, le défendeur aurait eu besoin dans tous les cas de l'aide extérieure qu'il a finalement sollicitée. C'est d'ailleurs ce sens-là que lui prêtent les défendeurs, lesquels tentent en vain de la contester en invoquant la violation de l'<ref-law> dès lors qu'il s'agit d'un problème relevant de l'appréciation des preuves. Au demeurant, la constatation incriminée est corroborée par les explications de l'expert judiciaire reproduites dans le jugement attaqué (p. 58 ch. 13). Ces mêmes explications permettent aussi de relativiser la portée des considérations lapidaires émises par les juges précédents quant à l'origine des "difficultés" ayant incité les défendeurs à confier la direction des travaux au bureau d'ingénieurs susmentionné.
Dans ces conditions, si l'on admet que les maîtres de l'ouvrage n'auraient de toute façon pas pu se passer de cette aide externe, qu'il y ait eu ou non des problèmes lors de l'exécution de l'ouvrage, il n'y avait aucune raison de faire supporter à l'entreprise demanderesse une partie des honoraires du bureau d'ingénieurs mandaté par les défendeurs.
Partant, la Cour civile n'a pas violé le droit fédéral en laissant la totalité de ces honoraires, soit 14'000 fr., à la charge des maîtres de l'ouvrage.
Partant, la Cour civile n'a pas violé le droit fédéral en laissant la totalité de ces honoraires, soit 14'000 fr., à la charge des maîtres de l'ouvrage.
4. Les défendeurs sont d'avis que l'hypothèque légale des artisans et entrepreneurs n'a pas été inscrite en temps utile.
4.1 En vertu de l'<ref-law>, l'inscription de l'hypothèque légale des artisans et entrepreneurs doit intervenir dans les trois mois suivant l'achèvement des travaux. Il faut entendre par là le moment où tous les travaux qui constituent l'objet du contrat d'entreprise ont été exécutés (<ref-ruling> consid. 2b p. 116 et les arrêts cités), y compris ceux qu'implique la levée du chantier (<ref-ruling> consid. 1c).
Lorsque l'entrepreneur a travaillé sur la base de plusieurs contrats, il a en principe autant de créances que de contrats, de sorte que le délai de trois mois commence à courir, pour chaque contrat, à partir de l'achèvement des travaux auxquels il se rapporte. Cependant, si les travaux exécutés en vertu de contrats différents forment une unité d'un point de vue fonctionnel, l'entrepreneur est en droit de faire inscrire l'hypothèque légale pour le montant total de ce qui lui est dû dans les trois mois après l'achèvement des derniers travaux formant cette unité (<ref-ruling> consid. 2c et les arrêts cités).
En cas de retrait des travaux, le délai de trois mois court à partir de la résiliation du contrat. Toutefois, le maître ne peut se prévaloir de cette date lorsque, après celle-ci, il demande expressément l'exécution de certains travaux; dans ce cas, le délai ne commence à courir que lorsque les derniers travaux ont été exécutés (<ref-ruling> consid. 1c).
4.2 La cour cantonale n'a pas méconnu ces principes.
Il est constant que les derniers travaux ont été exécutés le 15 novembre 1994. Qu'il se soit agi de travaux hors adjudication n'est pas déterminant en l'espèce, quoi qu'en disent les défendeurs. En effet, les juges précédents retiennent, de manière à lier la juridiction fédérale de réforme, que les travaux en question n'ont pas constitué une nouvelle étape dans la confection de l'ouvrage, "tous les travaux ayant été exécutés au cours d'un seul et même processus continu". Il va sans dire que la demanderesse a encore dû procéder, ce jour-là, aux travaux nécessités par la levée du chantier.
Pour le surplus, il est inexact de prétendre, comme le font les défendeurs, que la demanderesse s'est vu impartir un délai au 11 novembre 1994 pour quitter le chantier. Les intéressés confondent, en effet, la lettre qu'ils ont adressée dans ce sens au bureau d'ingénieurs civils Y._ SA avec celle que ce bureau a envoyée le 11 novembre 1994 à la demanderesse pour la prier de terminer le travail jusqu'au 14 du même mois. Il n'importe que les travaux n'aient été achevés que le 15 novembre 1994: d'une part, ce retard ne leur a pas fait perdre leur qualité de travaux d'achèvement (cf. <ref-ruling> consid. 1c); d'autre part, l'inscription de l'hypothèque légale, effectuée le 14 février 1995, a de toute façon été opérée dans les trois mois à compter du 14 novembre 1994.
Le recours sera donc rejeté sur ce point également.
Le recours sera donc rejeté sur ce point également.
5. 5.1 En ce qui concerne le dommage consécutif à l'effondrement des fouilles, chiffré à 20'313 fr. 75, la cour cantonale a déduit de ce montant l'indemnité de 13'662 fr. 50 versée aux défendeurs par leur assureur. Considérant que les deux parties portaient une responsabilité égale dans la survenance de ce dommage, elle a mis à la charge de la demanderesse la moitié du solde de 6'651 fr. 25, soit 3'325 fr. 60. Les juges vaudois ont encore relevé qu'aucun motif juridique ne justifiait, à leurs yeux, de faire supporter à la demanderesse une part de la prime et de la franchise d'assurance, étant donné qu'il appartenait aux maîtres de l'ouvrage de décider en toute liberté de l'opportunité de contracter une assurance.
Dans leur recours en réforme, les défendeurs contestent cette manière de voir. Selon eux, la part du dommage non couverte par l'indemnité d'assurance devait être mise entièrement à la charge de la demanderesse en proportion de sa responsabilité, car il n'y avait aucune raison pour que l'entrepreneur profitât du fait que les maîtres de l'ouvrage avaient contracté à leurs frais une assurance-dommages. Ainsi, sur l'indemnité de 13'662 fr. 50, les défendeurs avaient droit à 10'156 fr. 85, soit l'équivalent de la moitié du dommage total, de sorte que seul le solde de 3'505 fr. 65 pouvait être imputé sur ce dernier montant. Les défendeurs pouvaient dès lors réclamer à la demanderesse la somme de 6'651 fr. 20 (10'156 fr. 85 moins 3'456 fr. 65 [recte: 3'505 fr. 65]) au lieu du montant de 3'325 fr. 60 admis par la cour cantonale, soit une différence de 3'325 fr. 60 en leur faveur.
Dans leur recours en réforme, les défendeurs contestent cette manière de voir. Selon eux, la part du dommage non couverte par l'indemnité d'assurance devait être mise entièrement à la charge de la demanderesse en proportion de sa responsabilité, car il n'y avait aucune raison pour que l'entrepreneur profitât du fait que les maîtres de l'ouvrage avaient contracté à leurs frais une assurance-dommages. Ainsi, sur l'indemnité de 13'662 fr. 50, les défendeurs avaient droit à 10'156 fr. 85, soit l'équivalent de la moitié du dommage total, de sorte que seul le solde de 3'505 fr. 65 pouvait être imputé sur ce dernier montant. Les défendeurs pouvaient dès lors réclamer à la demanderesse la somme de 6'651 fr. 20 (10'156 fr. 85 moins 3'456 fr. 65 [recte: 3'505 fr. 65]) au lieu du montant de 3'325 fr. 60 admis par la cour cantonale, soit une différence de 3'325 fr. 60 en leur faveur.
5.2 5.2.1 L'entreprise demanderesse - en vertu du contrat d'entreprise - et l'assureur - en vertu du contrat d'assurance - répondent contractuellement du même dommage à l'égard des maîtres de l'ouvrage lésés. Il s'agit d'un cas de solidarité imparfaite.
5.2.2 Dans le système du droit des obligations, la responsabilité d'une personne n'est pas diminuée à l'égard du lésé du fait qu'un tiers se trouve lui aussi responsable du même dommage. La distinction entre solidarité parfaite et imparfaite n'a pas d'incidence sur l'étendue de la responsabilité des différents débiteurs du lésé. Celui-ci peut rechercher chacun d'eux aussi longtemps qu'il n'a pas été entièrement désintéressé. Ce n'est que lorsque sa créance est éteinte que les autres responsables sont libérés (<ref-law>; <ref-ruling> consid. 2b et les références).
Sans doute le lésé ne doit-il pas s'enrichir du fait qu'il peut demander la réparation du dommage à plusieurs responsables (<ref-ruling> consid. 5 p. 253). Mais il ne doit pas non plus en pâtir. C'est pourquoi un principe général du droit de la responsabilité civile, rendu par l'adage "nemo subrogat contra se", veut que l'assureur ne puisse exercer son droit de recours contre le tiers responsable - si tant est qu'il soit en droit de le faire (sur les conditions du recours de l'assureur contre le responsable contractuel, cf. l'arrêt 5C.136/1992 du 8 mars 1994, consid. 2b et les références) - que dans la mesure où le dommage subi par le lésé est entièrement couvert (arrêt 4P.65/1999 du 7 juin 1999, consid. 2b/cc, publié in SJ 1999 I 500 ss). En d'autres termes, lorsque les dommages-intérêts sont réduits, par exemple pour cause de faute concomitante, et que la somme assurée est inférieure au dommage, la subrogation n'a lieu que si et dans la mesure où, sans le recours, le lésé serait enrichi (Henri Deschenaux/Pierre Tercier, La responsabilité civile, 2e éd., p. 303 n. 22). Celui-ci ne devra dès lors imputer l'indemnité versée par son assureur sur les dommages-intérêts réclamés au tiers responsable (cf. <ref-law>) que jusqu'à concurrence du montant dépassant celui du dommage total qu'il a subi.
5.2.3 En l'occurrence, la cour cantonale a méconnu la règle selon laquelle la subrogation ne doit pas nuire au lésé. Elle a, en effet, fixé le montant des dommages-intérêts dus par la demanderesse en tenant compte de l'intégralité de l'indemnité d'assurance, si bien que les défendeurs ne devraient recevoir en tout et pour tout qu'un montant de 16'988 fr. 10 (13'662 fr. 50 plus 3'325 fr. 60) alors qu'ils ont subi un préjudice s'élevant à 20'313 fr. 75.
Aussi est-ce à juste titre que les défendeurs soutiennent qu'il appartient à la demanderesse de leur payer les 3'325 fr. 60 correspondant à la différence (arrondie) entre ces deux montants. Leur recours est dès lors fondé sur ce dernier point.
6. Cela étant, vu l'admission partielle du recours, il y a lieu de réformer le jugement attaqué en ce sens que le montant de 10'759 fr.30 figurant sous chiffres I et II du dispositif de ce jugement sera remplacé par le montant de 7'433 fr. 70 (i.e. 10'759 fr.30 moins 3'325 fr. 60), le chiffre V du dispositif étant maintenu. Quant aux chiffres III et IV du dispositif, ils seront annulés et la cause renvoyée à la cour cantonale pour qu'elle statue à nouveau sur les frais et dépens de la procédure cantonale.
6. Cela étant, vu l'admission partielle du recours, il y a lieu de réformer le jugement attaqué en ce sens que le montant de 10'759 fr.30 figurant sous chiffres I et II du dispositif de ce jugement sera remplacé par le montant de 7'433 fr. 70 (i.e. 10'759 fr.30 moins 3'325 fr. 60), le chiffre V du dispositif étant maintenu. Quant aux chiffres III et IV du dispositif, ils seront annulés et la cause renvoyée à la cour cantonale pour qu'elle statue à nouveau sur les frais et dépens de la procédure cantonale.
7. Les défendeurs concluaient à une modification du jugement cantonal en leur faveur à concurrence d'un montant total de 18'486 fr. 55. Ils n'obtiennent finalement que 3'325 fr. 60. Dans ces conditions, il se justifie de mettre à leur charge, solidairement entre eux, les 4/5 de l'émolument judiciaire (art. 156 al. 3 et 7 OJ) ainsi qu'une indemnité, réduite, pour les dépens de la demanderesse (art. 159 al. 3 et 5 OJ).

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est partiellement admis et le jugement attaqué est réformé en ce sens que le montant de 10'759 fr. 30 figurant sous chiffres I et II de son dispositif est remplacé par le montant de 7'433 fr. 70, le chiffre V du dispositif étant maintenu et les chiffres III et IV annulés.
1. Le recours est partiellement admis et le jugement attaqué est réformé en ce sens que le montant de 10'759 fr. 30 figurant sous chiffres I et II de son dispositif est remplacé par le montant de 7'433 fr. 70, le chiffre V du dispositif étant maintenu et les chiffres III et IV annulés.
2. Un émolument judiciaire de 2'000 fr. est mis pour 1/5 à la charge de l'intimée et pour 4/5 à la charge des recourants, avec solidarité entre ces derniers.
2. Un émolument judiciaire de 2'000 fr. est mis pour 1/5 à la charge de l'intimée et pour 4/5 à la charge des recourants, avec solidarité entre ces derniers.
3. Les recourants sont condamnés solidairement à verser à l'intimée une indemnité de 1'500 fr. à titre de dépens réduits.
3. Les recourants sont condamnés solidairement à verser à l'intimée une indemnité de 1'500 fr. à titre de dépens réduits.
4. La cause est renvoyée à la cour cantonale pour nouvelle décision sur les frais et dépens de la procédure cantonale.
5. Le présent arrêt est communiqué en copie aux mandataires des parties et à la Cour civile du Tribunal cantonal du canton de Vaud.
Lausanne, le 18 mai 2004
Au nom de la Ire Cour civile
du Tribunal fédéral suisse
Le président: Le greffier: