'Generate markdown with problem html.'

def gen_markdown(self):

    h = html2text.HTML2Text()
    if self._prefer_leetcode:
        self._lint2leet()
    p_title = self._get_p_title()
    p_body = self._run_method('_get_p_html_body_')
    p_difficulty = self._run_method('_get_p_difficulty_')
    raw_p_tags = self._run_method('_get_p_tags_')
    raw_p_tags.append(p_difficulty)
    p_tags = [('TAG_' + tag.replace('    ', '_')) for tag in raw_p_tags]
    lines = []
    lines.append('#    {}\n'.format(p_title))
    tags = '    '.join(p_tags)
    lines.append('**TAGS:**    {}\n'.format(tags))
    lines.append('##    Question\n')
    p_url_lists = self._gen_p_url_lists()
    lines.extend(p_url_lists)
    lines.append('\n###    Problem    Statement\n')
    lines.append(h.handle(p_body))
    print '\n'.join(lines)
