#!/usr/bin/env python3
import sys
import re

def strip_comments(x):
    xx = x.strip()    
    if len(xx)==0 or xx[0] == '%':
        return ""
    ii = [m.start() for m in re.finditer('%', xx)]
    for i in ii:
        if x[i] != "\\":
            return xx[i-1:]
    return xx
def find_input(x):
    needle = r"\\input{"
    m = len(needle)-1
    ii = [m.start() for m in re.finditer(needle, x)]
    retval = []
    for i in ii:
        s = i+m
        e = x[i:].find("}")
        fn = x[s:e]
        if fn[-4:].lower() != ".tex":
            fn = f"{fn}.tex"
        retval.append(fn)
    return retval
def find_bib(x):
    needle = r"\\bibliography{"
    m = len(needle)-1
    ii = [m.start() for m in re.finditer(needle, x)]
    retval = []
    for i in ii:
        s = i+m
        e = x[i:].find("}")
        fn = x[s:e]
        if fn[-4:].lower() != ".bib":
            fn = f"{fn}.bib"
        retval.append(fn)
    return retval
def process_file(fn):
    try:
        fp = open(fn, 'r')
    except OSError:
        return
    for line in fp:
        line = strip_comments(line)
        inputs = find_input(line)
        for i in inputs:
            print(i)
            process_file(i)        
for line in sys.stdin:
    line = strip_comments(line)
    inputs = find_input(line)
    for i in inputs:
        print(i)
        process_file(i)
    bibs = find_bib(line)
    for i in bibs:
        print(i)
