/**
 * code generated by JHelper
 * More info: https://github.com/AlexeyDmitriev/JHelper
 * @author Azat Ismagilov
 */

/**********.*****.**************************:-******-:*******************
**********......:*****************+@%@*+#@@@+.****.***********************
...------........-*+*********+%#####@@@##########*************************
********:........----------%@#####################@@-...............------
**********......:********@%#####@###################@#@=+***************::
*********.:****--******%##@#####@#######################@*+***************
********.*******:-**+@@####@#@@@#################@#########=**************
*******-*********:*@@@######@###############################=*************
*****--**********%%@##@########@#############################=:***********
****.************+##################@#@@#####################@************
***.*************%######################@@###################=***********-
*-:**************=##########@@%%%%=%@=%=%=%@################@@**********.*
.****************########%++***+++****+++=+===+++***+=%@######%*******:-**
****************+#######%+*::::::::::::***********:::::**@@###%******.:***
****************#######@%*:::::::::::::::*:*****:::::::::*@@##@*****.*****
****************######@%+*:::::::-::::::::::::::::::::::::=@##%****-******
.......-------:*######=::::::----------:::::::::::::::::::+###:**--*******
............:==:%####=:::::----:-:::::::::::::::::::::::::=@##:-.:********
************=@++*%##@::::*=%%%@@###@=***::::::::::::::::::=@#@*..*********
************=**+@+@#*:::**+++%@#@###%@%%+*::*+=======*::::*##-:**.********
*************:=%%:%*::::*+=%##%###=@@@%=*::*=%@@@%%@@#@%::+#@:****.*******
:**************==:=:::--::::*++++=%@@@%*:--*%#@####@#=+***@@%@*****.******
--**************:-*::--------::**+***:::---*+%%%%%%@@%+*::#*@%******.*****
*:-************---*::::-----------::--:---::::+++++**:::::%*%********-:***
**:.************++*:::::--------::**+------::::::::::::::*++**********--**
****.**************::::::-----::**==:-------+*:::::---:::**************:-*
*****.***********.*::::::::-:::***:*+@**::**=+*::::::::::****************-
******.*:*%@######+::::::::::::::::::++++=******::::::::******************
******:############*::::::::****::::::*+*:*:*:***::::::*******************
******#############***::*:*:*+==@@##=======:*+***:::*:********************
******#############:*+**********:*++**+**++=%=***:*::*********************
.....##############::*++**************+***:*********###+******************
***:##############@*:**+=***:::**++===++***********#####%.................
*:*###############******++=+*:::::::*:::::*::***#########=****************
**:################%*****++==++********::::*+++=##########+***************
*:%##################******++++==+=++++++++++++@############**************
######################@******+++++++++++++++++=%#############*************
########################+++++++++++++++++++++==@#############@***********.
#########################%+++++++++++++++++===%###############%********:-*
########################@=#=++++++++++++====%@##################******-**/


#include <bits/stdc++.h>

#define int long long
#define fs first
#define sc second
#define pb push_back
#define ppb pop_back
#define pf push_front
#define ppf pop_front
#define mp make_pair
#define len(v) ((int)v.size())
#define vc vector
#define pr pair
#define endd "\n"; return 0;
#define all(v) v.begin(), v.end()

using namespace std;

const int MAXN = 2e5;
const int INF = 1e18;
const int MOD = 1e9 + 7;


struct Edge {
    int u, v, num;
} ed[2 * MAXN];

bool use[MAXN];
int first[MAXN], nexxt[2 * MAXN], res[MAXN], p[MAXN];


void dfs(int s)
{
    use[s] = 1;
    res[s] = 0;

    for (int i = first[s]; i != -1; i = nexxt[i])
        if (!use[ed[i].v])
        {
            p[ed[i].v] = s;
            dfs(ed[i].v);
            res[s] ^= res[ed[i].v]+1;
        }
}

int dfs2(int s, int Gr)
{
    for (int i = first[s]; i != -1; i = nexxt[i])
        if (ed[i].v != p[s] && ((res[ed[i].v]+1) > (Gr ^ (res[ed[i].v]+1) ^ res[s])))
        {
            Gr ^= (res[ed[i].v] + 1) ^ res[s];
            if (Gr == 0)
                return ed[i].num;
            return dfs2(ed[i].v, Gr-1);
        }
}


main() {
    int n, r;
    scanf("%ld", &n);
    r = 1;
    --r;
    int m = n-1;
    for (int i = 0; i < m; ++i)
    {
        scanf("%ld%ld", &ed[i].u, &ed[i].v);
        --ed[i].u, --ed[i].v;
        ed[i].num = i + 1;

        ed[i+m].u = ed[i].v;
        ed[i+m].v = ed[i].u;
        ed[i+m].num = ed[i].num;
    }

    m *= 2;

    for (int i = 0; i < n; ++i)
    {
        first[i] = -1;
        use[i] = 0;
    }

    for (int i = 0; i < m; ++i)
    {
        nexxt[i] = first[ed[i].u];
        first[ed[i].u] = i;
    }

    p[r] = -1;
    dfs(r);
    if (res[r])
        printf("Alice");
    else
        printf("Bob");

}

Measured memory_bytes: 16896