#C14573. Specification Verification

    ID: 44237 Type: Default 1000ms 256MiB

Specification Verification

Specification Verification

You are given a document that represents a product specification for an event scheduling application. The document is divided into several sections (each beginning with a header prefixed by “##”) such as Original Requirements, Product Goals, User Stories, Competitive Analysis, Competitive Quadrant Chart, Requirement Analysis, Requirement Pool, UI Design draft, and Anything UNCLEAR.

Your task is to write a program that reads the entire document from standard input (stdin) and checks whether each section contains the expected content. For example, the Original Requirements section must include the phrases "create events", "send invites", "manage RSVPs", and "integrate with popular calendar services". In the Product Goals section (a Python list) there must be exactly three items, and each must contain specific key phrases. Similar checks apply to the other sections (e.g. User Stories should not contain more than 5 items, Competitive Analysis should not exceed 7 items, and so on).

If all criteria are met, your program should output a single line with the word "Valid". Otherwise, it should output "Invalid".

(Note: Any formulas, if present, should be in (\LaTeX) format. In this problem no mathematical formulas are necessary.)

inputFormat

The input is provided through standard input (stdin) as a single text document. This document contains multiple sections, each starting with a header in the format:

Section Name

Followed by the content of that section. For instance, the document includes sections like "## Original Requirements", "## Product Goals", "## User Stories", and so on. Your program needs to examine these sections and verify that they contain the expected key phrases or list items as described in the problem statement.

outputFormat

Output exactly one line to standard output (stdout): either "Valid" if every check passes, or "Invalid" if one or more of the expected content requirements are not met.## sample

## Original Requirements
"""
The boss requires an event scheduling application that allows users to create events, send invites, and manage RSVPs. The application should integrate with popular calendar services like Google Calendar and Outlook.
"""

## Product Goals
"""
[
    "Create an event scheduling application to manage events and RSVPs.",
    "Enable integration with Google Calendar and Outlook.",
    "Allow users to send invites and track attendance."
]
"""

## User Stories
"""
[
    "As a user, I want to create events and add them to my calendar so I can keep track of my schedule.",
    "As a user, I want to send invites to my contacts so I can share event details and get confirmations.",
    "As a user, I want to receive notifications about upcoming events so I don't miss them.",
    "As an admin, I want to manage RSVPs to know how many people are attending.",
    "As a user, I want the app to sync with my Google Calendar and Outlook so my events are always up-to-date."
]
"""

## Competitive Analysis
"""
[
    "EventBrite: A widely used event management app with comprehensive event planning and ticketing options.",
    "Meetup: Focuses on social gatherings and community events, offering event creation and group management tools.",
    "Doodle: Simplifies event scheduling by coordinating availability among participants.",
    "Calendly: Primarily a scheduling tool but useful for setting up meetings and events.",
    "RSVPify: Focuses on digital invitations and RSVP management for various event types.",
    "Facebook Events: Integrates with social media to create and promote events among friends and followers.",
    "Evite: Specializes in customized invitations and RSVP tracking."
]
"""

## Competitive Quadrant Chart
mermaid
quadrantChart
    title Reach and engagement of event applications
    x-axis Low Reach --> High Reach
    y-axis Low Engagement --> High Engagement
    quadrant-1 Strong presence
    quadrant-2 Needs improvement
    quadrant-3 Limited appeal
    quadrant-4 Untapped potential
    "EventBrite": [0.8, 0.7]
    "Meetup": [0.7, 0.6]
    "Doodle": [0.5, 0.4]
    "Calendly": [0.6, 0.5]
    "RSVPify": [0.4, 0.3]
    "Facebook Events": [0.9, 0.8]
    "Evite": [0.3, 0.4]
    "Our Target App": [0.4, 0.7]

## Requirement Analysis
"""
The product should be an easy-to-use event scheduling tool that integrates with existing popular calendar services to ensure users can seamlessly manage their schedules and RSVPs.
"""

## Requirement Pool
"""
[
    ("Allow users to create events and add them to their calendars", "P0"),
    ("Enable sending invites and managing RSVPs", "P0"),
    ("Integrate with Google Calendar", "P1"),
    ("Integrate with Outlook Calendar", "P1"),
    ("Provide event notifications and reminders", "P2")
]
"""

## UI Design draft
"""
The UI should include the following elements:
  1. Event creation form with fields for event name, date, time, location, and description.
  2. Invite management section for sending invites and tracking RSVPs.
  3. Calendar view to see all scheduled events.
  4. Integration options for syncing with Google Calendar and Outlook.
  5. Notification settings for managing event reminders.

Style:
  - Clean and modern design with a focus on usability.
  - Responsive layout to work on both desktop and mobile devices.
  - Intuitive navigation with clear labels and tooltips.

Layout:
  - Main dashboard displaying upcoming events and recent activities.
  - Side navigation for accessing different sections like Event Management, Invites, Calendar Sync, and Notifications.
"""

## Anything UNCLEAR
"""
Integration with additional calendar services beyond Google Calendar and Outlook could be clarified. It may also be important to define the extent of invite management features, such as the ability to send follow-up messages or to view statistics on RSVPs.
"""
Valid