Sachverhalt: Sachverhalt: A. Die 1963 geborene A._ leidet an einer komplexen Blasenfunktionsstörung mit Inkontinenz bei Status nach Wertheim-Operation infolge eines Zervixkarzinoms und Nachbestrahlung. Am 25. Oktober 2000 hat sie sich zum Bezug von Leistungen der Invalidenversicherung angemeldet. Seit 1. März 2001 geht sie einer Teilzeittätigkeit bei der Firma M._ als Mitarbeiterin in Restaurant und Küche nach. Nach Abklärungen in medizinischer und erwerblicher Hinsicht sprach ihr die IV-Stelle Luzern mit Verfügungen vom 12. Dezember 2001 rückwirkend ab 1. Oktober 1999 eine ganze und ab 1. Januar 2000 eine halbe Invalidenrente zu. Dabei fand Berücksichtigung, dass A._ von August 1997 bis September 1999 krankheitsbedingt vollständig arbeitsunfähig war und seit Oktober 1999 eine 50%ige Arbeitsfähigkeit bestand. Infolge verspäteter Anmeldung konnten Rentenleistungen erst ab 1. Oktober 1999 ausgerichtet werden. Bei der Bemessung des Invaliditätsgrades (Prozentvergleich) für die Zeit ab 1. Januar 2000 hatte die Verwaltung auf ein Valideneinkommen von Fr. 45'900.- abgestellt. Im Rahmen einer im Februar 2003 von Amtes wegen eingeleiteten Revision holte die IV-Stelle Angaben über die aktuellen Einkommensverhältnisse ein und gelangte in der Folge zur Auffassung, dass sie bis anhin von einem falschen Valideneinkommen ausgegangen war. Mit Verfügung vom 13. März 2003 hob sie die Rente wiedererwägungsweise per Ende April 2003 auf; zur Begründung gab sie an, der Invaliditätsgrad betrage bei einem (berichtigten) Valideneinkommen von Fr. 42'900.- und einem Invalideneinkommen von Fr. 27'289.- lediglich 36 %, weshalb kein Rentenanspruch bestehe. Daran hielt sie auf Einsprache hin fest (Einspracheentscheid vom 3. September 2003). A. Die 1963 geborene A._ leidet an einer komplexen Blasenfunktionsstörung mit Inkontinenz bei Status nach Wertheim-Operation infolge eines Zervixkarzinoms und Nachbestrahlung. Am 25. Oktober 2000 hat sie sich zum Bezug von Leistungen der Invalidenversicherung angemeldet. Seit 1. März 2001 geht sie einer Teilzeittätigkeit bei der Firma M._ als Mitarbeiterin in Restaurant und Küche nach. Nach Abklärungen in medizinischer und erwerblicher Hinsicht sprach ihr die IV-Stelle Luzern mit Verfügungen vom 12. Dezember 2001 rückwirkend ab 1. Oktober 1999 eine ganze und ab 1. Januar 2000 eine halbe Invalidenrente zu. Dabei fand Berücksichtigung, dass A._ von August 1997 bis September 1999 krankheitsbedingt vollständig arbeitsunfähig war und seit Oktober 1999 eine 50%ige Arbeitsfähigkeit bestand. Infolge verspäteter Anmeldung konnten Rentenleistungen erst ab 1. Oktober 1999 ausgerichtet werden. Bei der Bemessung des Invaliditätsgrades (Prozentvergleich) für die Zeit ab 1. Januar 2000 hatte die Verwaltung auf ein Valideneinkommen von Fr. 45'900.- abgestellt. Im Rahmen einer im Februar 2003 von Amtes wegen eingeleiteten Revision holte die IV-Stelle Angaben über die aktuellen Einkommensverhältnisse ein und gelangte in der Folge zur Auffassung, dass sie bis anhin von einem falschen Valideneinkommen ausgegangen war. Mit Verfügung vom 13. März 2003 hob sie die Rente wiedererwägungsweise per Ende April 2003 auf; zur Begründung gab sie an, der Invaliditätsgrad betrage bei einem (berichtigten) Valideneinkommen von Fr. 42'900.- und einem Invalideneinkommen von Fr. 27'289.- lediglich 36 %, weshalb kein Rentenanspruch bestehe. Daran hielt sie auf Einsprache hin fest (Einspracheentscheid vom 3. September 2003). B. A._ liess dagegen Beschwerde erheben mit dem Rechtsbegehren, es sei ihr ab 1. Mai 2003 mindestens eine Viertelsrente bzw. - bei Vorliegen eines Härtefalles - weiterhin eine halbe Invalidenrente auszurichten. In Gutheissung der Beschwerde hob das Verwaltungsgericht des Kantons Luzern den Einspracheentscheid vom 3. September 2003 auf (Ziffer 1); zudem hiess es das Gesuch um unentgeltliche Verbeiständung im Einspracheverfahren gut, wies die Sache zur masslichen Festsetzung der Entschädigung an die IV-Stelle zurück (Ziffer 2), und verpflichtete die Verwaltung, A._ für das kantonale Gerichtsverfahren eine Parteientschädigung von Fr. 2860.05 zu bezahlen (Ziffer 3; Entscheid vom 19. Mai 2004). B. A._ liess dagegen Beschwerde erheben mit dem Rechtsbegehren, es sei ihr ab 1. Mai 2003 mindestens eine Viertelsrente bzw. - bei Vorliegen eines Härtefalles - weiterhin eine halbe Invalidenrente auszurichten. In Gutheissung der Beschwerde hob das Verwaltungsgericht des Kantons Luzern den Einspracheentscheid vom 3. September 2003 auf (Ziffer 1); zudem hiess es das Gesuch um unentgeltliche Verbeiständung im Einspracheverfahren gut, wies die Sache zur masslichen Festsetzung der Entschädigung an die IV-Stelle zurück (Ziffer 2), und verpflichtete die Verwaltung, A._ für das kantonale Gerichtsverfahren eine Parteientschädigung von Fr. 2860.05 zu bezahlen (Ziffer 3; Entscheid vom 19. Mai 2004). C. Mit Verwaltungsgerichtsbeschwerde beantragt die IV-Stelle, Ziffer 1 des Entscheides des kantonalen Gerichts vom 19. Mai 2004 sei aufzuheben. A._ lässt auf Abweisung der Verwaltungsgerichtsbeschwerde schliessen; eventuell sei ihr ab 1. Mai 2003 mindestens eine Viertelsrente zuzusprechen. Ferner lässt sie um Gewährung der unentgeltlichen Rechtspflege und Verbeiständung ersuchen. Das Bundesamt für Sozialversicherung verzichtet auf eine Vernehmlassung. 